SetVersion($DBversion);
}
-
$DBversion = "3.07.00.029";
if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
my $installer = C4::Installer->new();
}
$DBversion = "3.07.00.032";
-if ( C4::Context->preference("Version") lt TransformToNum($DBversion) ) {
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
$dbh->do("ALTER TABLE virtualshelves MODIFY COLUMN owner int"); #should have been int already (fk to borrowers)
$dbh->do("UPDATE virtualshelves vi LEFT JOIN borrowers bo ON bo.borrowernumber=vi.owner SET vi.owner=NULL where bo.borrowernumber IS NULL"); #before adding the constraint on borrowernumber, we need to get rid of deleted owners
$dbh->do("DELETE FROM virtualshelves WHERE owner IS NULL and category=1"); #delete private lists without owner (cascades to shelfcontents)
SetVersion($DBversion);
}
+$DBversion = "3.07.00.033";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("ALTER TABLE branches ADD opac_info text;");
+ print "Upgrade to $DBversion done add opac_info to branches \n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.07.00.034";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("ALTER TABLE borrower_attribute_types ADD COLUMN category_code VARCHAR(10) NULL DEFAULT NULL AFTER `display_checkout`");
+ $dbh->do("ALTER TABLE borrower_attribute_types ADD COLUMN class VARCHAR(255) NOT NULL DEFAULT '' AFTER `category_code`");
+ $dbh->do("ALTER TABLE borrower_attribute_types ADD CONSTRAINT category_code_fk FOREIGN KEY (category_code) REFERENCES categories(categorycode)");
+ print "Upgrade to $DBversion done (New fields category_code and class in borrower_attribute_types table)\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.07.00.035";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do("ALTER TABLE issues CHANGE date_due date_due datetime");
+ $dbh->do("ALTER TABLE issues CHANGE returndate returndate datetime");
+ $dbh->do("ALTER TABLE issues CHANGE lastreneweddate lastreneweddate datetime");
+ $dbh->do("ALTER TABLE issues CHANGE issuedate issuedate datetime");
+ $dbh->do("ALTER TABLE old_issues CHANGE date_due date_due datetime");
+ $dbh->do("ALTER TABLE old_issues CHANGE returndate returndate datetime");
+ $dbh->do("ALTER TABLE old_issues CHANGE lastreneweddate lastreneweddate datetime");
+ $dbh->do("ALTER TABLE old_issues CHANGE issuedate issuedate datetime");
+ $dbh->do("alter table issuingrules add column lengthunit varchar(10) default 'days' after issuelength");
+ print "Upgrade to $DBversion done (Setting up issues tables for hourly loans)\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.07.00.036";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do(qq{
+ ALTER TABLE z3950servers ADD timeout INT( 11 ) NOT NULL DEFAULT '0' AFTER syntax;
+ });
+ print "Upgrade to $DBversion done (New timeout field in z3950servers)\n";
+}
+
+$DBversion = "3.07.00.037";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do("
+ ALTER TABLE `marc_subfield_structure` ADD `maxlength` INT( 4 ) NOT NULL DEFAULT '9999';
+ ");
+ $dbh->do("
+ UPDATE `marc_subfield_structure` SET maxlength=24 WHERE tagfield='000';
+ ");
+ $dbh->do("
+ UPDATE marc_subfield_structure SET maxlength = IF ((SELECT value FROM systempreferences WHERE variable = 'marcflavour')='MARC21','40','9999') WHERE tagfield='008';
+ ");
+ $dbh->do("
+ UPDATE marc_subfield_structure SET maxlength = IF ((SELECT value FROM systempreferences WHERE variable = 'marcflavour')='UNIMARC','36','9999') WHERE tagfield='100';
+ ");
+ print "Upgrade to $DBversion done (Add new field maxlength to marc_subfield_structure)\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.07.00.038";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do(qq{
+ INSERT INTO systempreferences(variable,value,explanation,options,type)
+ VALUES('UniqueItemFields', 'barcode', 'Space-separated list of fields that should be unique (used in acquisition module for item creation). Fields must be valid SQL column names of items table', '', 'Free')
+ });
+ print "Upgrade to $DBversion done (Added system preference 'UniqueItemFields')\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.07.00.039";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do( qq{INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) VALUES('Babeltheque_url_js','','Url for Babeltheque javascript (e.g. http://www.babeltheque.com/bw_XX.js','','Free')} );
+ $dbh->do( qq{CREATE TABLE IF NOT EXISTS social_data
+ ( isbn VARCHAR(30),
+ num_critics INT,
+ num_critics_pro INT,
+ num_quotations INT,
+ num_videos INT,
+ score_avg DECIMAL(5,2),
+ num_scores INT,
+ PRIMARY KEY (isbn)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8
+ } );
+ $dbh->do( qq{INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) VALUES ('Babeltheque_url_update', '', 'Url for Babeltheque update (E.G. http://www.babeltheque.com/.../file.csv.bz2)', '', 'Free')} );
+ print "Upgrade to $DBversion done (added syspref and table for babeltheque (Babeltheque_url_js, babeltheque))\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.07.00.040";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do( qq{INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) VALUES('SocialNetworks','0','Enable/Disable social networks links in opac detail','','YesNo')} );
+ print "Upgrade to $DBversion done (added syspref SocialNetworks, to display facebook/ggl+ and other buttons)\n";
+ SetVersion($DBversion);
+}
+
+
+
+$DBversion = "3.07.00.041";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("INSERT INTO systempreferences (variable,value,options,explanation,type) VALUES('SubscriptionDuplicateDroppedInput','','','List of fields which must not be rewritten when a subscription is duplicated (Separated by pipe |)','Free')");
+ print "Upgrade to $DBversion done (Add System Preferences SubscriptionDuplicateDroppedInput)\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.07.00.042";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("ALTER TABLE reserves ADD suspend BOOLEAN NOT NULL DEFAULT 0");
+ $dbh->do("ALTER TABLE old_reserves ADD suspend BOOLEAN NOT NULL DEFAULT 0");
+
+ $dbh->do("ALTER TABLE reserves ADD suspend_until DATETIME NULL DEFAULT NULL");
+ $dbh->do("ALTER TABLE old_reserves ADD suspend_until DATETIME NULL DEFAULT NULL");
+
+ $dbh->do("INSERT INTO systempreferences (variable,value,options,explanation,type) VALUES ('AutoResumeSuspendedHolds', '1', NULL , 'Allow suspended holds to be automatically resumed by a set date.', 'YesNo')");
+
+ print "Upgrade to $DBversion done (Add suspend fields to reserves table, add syspref AutoResumeSuspendedHolds)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = "3.07.00.043";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ my $countXSLTDetailsDisplay = 0;
+ my $valueXSLTDetailsDisplay = "";
+ my $valueXSLTResultsDisplay = "";
+ my $valueOPACXSLTDetailsDisplay = "";
+ my $valueOPACXSLTResultsDisplay = "";
+ #the line below test if database comes from a BibLibre's branch
+ $countXSLTDetailsDisplay = $dbh->do('SELECT 1 FROM systempreferences WHERE variable="IntranetXSLTDetailsDisplay"');
+ if ($countXSLTDetailsDisplay > 0)
+ {
+ #the two lines below will only be used to update the databases from the BibLibre's branch. They will not affect the others
+ $dbh->do(q|UPDATE systempreferences SET variable="XSLTDetailsDisplay" WHERE variable="IntranetXSLTDetailsDisplay"|);
+ $dbh->do(q|UPDATE systempreferences SET variable="XSLTResultsDisplay" WHERE variable="IntranetXSLTResultsDisplay"|);
+ }
+ else
+ {
+ $valueXSLTDetailsDisplay = "default" if (C4::Context->preference("XSLTDetailsDisplay"));
+ $valueXSLTResultsDisplay = "default" if (C4::Context->preference("XSLTResultsDisplay"));
+ $valueOPACXSLTDetailsDisplay = "default" if (C4::Context->preference("OPACXSLTDetailsDisplay"));
+ $valueOPACXSLTResultsDisplay = "default" if (C4::Context->preference("OPACXSLTResultsDisplay"));
+ $dbh->do("UPDATE systempreferences SET type='Free', value=\"$valueXSLTDetailsDisplay\" WHERE variable='XSLTDetailsDisplay'");
+ $dbh->do("UPDATE systempreferences SET type='Free', value=\"$valueXSLTResultsDisplay\" WHERE variable='XSLTResultsDisplay'");
+ $dbh->do("UPDATE systempreferences SET type='Free', value=\"$valueOPACXSLTDetailsDisplay\" WHERE variable='OPACXSLTDetailsDisplay'");
+ $dbh->do("UPDATE systempreferences SET type='Free', value=\"$valueOPACXSLTResultsDisplay\" WHERE variable='OPACXSLTResultsDisplay'");
+ }
+ print "XSLT systempreference takes a path to file rather than YesNo\n";
+ SetVersion($DBversion);
+}
+
=head1 FUNCTIONS
=head2 DropAllForeignKeys($table)