From a75558340adfe1681d6fa0476c21ab3ed4ab7c31 Mon Sep 17 00:00:00 2001 From: Chris Nighswonger Date: Fri, 8 Jan 2010 11:20:09 -0500 Subject: [PATCH] [29/30] Bumping version number to 3.01.00.101 --- installer/data/mysql/updatedatabase.pl | 214 +++++++++++++------------ kohaversion.pl | 4 +- 2 files changed, 113 insertions(+), 105 deletions(-) diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index 4e1d1cf549..901f98d92e 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -26,7 +26,7 @@ use C4::Installer; use MARC::Record; use MARC::File::XML ( BinaryEncoding => 'utf8' ); - + # FIXME - The user might be installing a new database, so can't rely # on /etc/koha.conf anyway. @@ -59,7 +59,7 @@ $|=1; # flushes output my $DBversion = "3.00.00.001"; if (C4::Context->preference("Version") < TransformToNum($DBversion)) { # update virtualshelves table to - # + # $dbh->do("ALTER TABLE `bookshelf` RENAME `virtualshelves`"); $dbh->do("ALTER TABLE `shelfcontents` RENAME `virtualshelfcontents`"); $dbh->do("ALTER TABLE `virtualshelfcontents` ADD `biblionumber` INT( 11 ) NOT NULL default '0' AFTER shelfnumber"); @@ -104,7 +104,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { $DBversion = "3.00.00.004"; if (C4::Context->preference("Version") < TransformToNum($DBversion)) { - $dbh->do("INSERT INTO `systempreferences` VALUES ('DebugLevel','2','set the level of error info sent to the browser. 0=none, 1=some, 2=most','0|1|2','Choice')"); + $dbh->do("INSERT INTO `systempreferences` VALUES ('DebugLevel','2','set the level of error info sent to the browser. 0=none, 1=some, 2=most','0|1|2','Choice')"); print "Upgrade to $DBversion done (adding DebugLevel systempref, in 'Admin' tab)\n"; SetVersion ($DBversion); } @@ -158,12 +158,12 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { # Create backups of call number columns # in case default migration needs to be customized # - # UPGRADE NOTE: temp_upg_biblioitems_call_num should be dropped + # UPGRADE NOTE: temp_upg_biblioitems_call_num should be dropped # after call numbers have been transformed to the new structure # # Not bothering to do the same with deletedbiblioitems -- assume # default is good enough. - $dbh->do("CREATE TABLE `temp_upg_biblioitems_call_num` AS + $dbh->do("CREATE TABLE `temp_upg_biblioitems_call_num` AS SELECT `biblioitemnumber`, `biblionumber`, `classification`, `dewey`, `subclass`, `lcsort`, `ccode` @@ -179,18 +179,18 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { ADD `totalissues` INT(10) AFTER `cn_sort`"); # default mapping of call number columns: - # cn_class = concatentation of classification + dewey, + # cn_class = concatentation of classification + dewey, # trimmed to fit -- assumes that most users do not # populate both classification and dewey in a single record # cn_item = subclass - # cn_source = left null - # cn_sort = lcsort + # cn_source = left null + # cn_sort = lcsort # # After upgrade, cn_sort will have to be set based on whatever # default call number scheme user sets as a preference. Misc # script will be added at some point to do that. # - $dbh->do("UPDATE `biblioitems` + $dbh->do("UPDATE `biblioitems` SET cn_class = SUBSTR(TRIM(CONCAT_WS(' ', `classification`, `dewey`)), 1, 30), cn_item = subclass, `cn_sort` = `lcsort` @@ -210,7 +210,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { $dbh->do("UPDATE deletedbiblio SET datecreated = timestamp"); # deletedbiblioitems changes - $dbh->do("ALTER TABLE `deletedbiblioitems` + $dbh->do("ALTER TABLE `deletedbiblioitems` MODIFY `publicationyear` TEXT, CHANGE `volumeddesc` `volumedesc` TEXT, MODIFY `collectiontitle` MEDIUMTEXT DEFAULT NULL AFTER `volumedesc`, @@ -231,12 +231,12 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { ADD KEY `publishercode` (`publishercode`) "); - $dbh->do("UPDATE `deletedbiblioitems` + $dbh->do("UPDATE `deletedbiblioitems` SET `cn_class` = SUBSTR(TRIM(CONCAT_WS(' ', `classification`, `dewey`)), 1, 30), `cn_item` = `subclass`, `cn_sort` = `lcsort` "); - $dbh->do("ALTER TABLE `deletedbiblioitems` + $dbh->do("ALTER TABLE `deletedbiblioitems` DROP COLUMN `classification`, DROP COLUMN `dewey`, DROP COLUMN `subclass`, @@ -245,7 +245,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { "); # deleteditems changes - $dbh->do("ALTER TABLE `deleteditems` + $dbh->do("ALTER TABLE `deleteditems` MODIFY `barcode` VARCHAR(20) DEFAULT NULL, MODIFY `price` DECIMAL(8,2) DEFAULT NULL, MODIFY `replacementprice` DECIMAL(8,2) DEFAULT NULL, @@ -281,13 +281,13 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { ADD `materials` VARCHAR(10) DEFAULT NULL AFTER `ccode`, ADD `uri` VARCHAR(255) DEFAULT NULL AFTER `materials` "); - $dbh->do("ALTER TABLE `items` + $dbh->do("ALTER TABLE `items` DROP KEY `itembarcodeidx`, ADD UNIQUE KEY `itembarcodeidx` (`barcode`)"); - # map items.itype to items.ccode and + # map items.itype to items.ccode and # set cn_sort to itemcallnumber -- as with biblioitems.cn_sort, - # will have to be subsequently updated per user's default + # will have to be subsequently updated per user's default # classification scheme $dbh->do("UPDATE `items` SET `cn_sort` = `itemcallnumber`, `ccode` = `itype`"); @@ -334,10 +334,10 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { PRIMARY KEY (`cn_source`), UNIQUE KEY `cn_source_idx` (`cn_source`), KEY `used_idx` (`used`), - CONSTRAINT `class_source_ibfk_1` FOREIGN KEY (`class_sort_rule`) + CONSTRAINT `class_source_ibfk_1` FOREIGN KEY (`class_sort_rule`) REFERENCES `class_sort_rules` (`class_sort_rule`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8"); - $dbh->do("INSERT INTO `systempreferences` (variable,value,explanation,options,type) + $dbh->do("INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('DefaultClassificationSource','ddc', 'Default classification scheme used by the collection. E.g., Dewey, LCC, etc.', NULL,'free')"); $dbh->do("INSERT INTO `class_sort_rules` (`class_sort_rule`, `description`, `sort_routine`) VALUES @@ -397,7 +397,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { `import_record_id` int(11) NOT NULL, `candidate_match_id` int(11) NOT NULL, `score` int(11) NOT NULL default 0, - CONSTRAINT `import_record_matches_ibfk_1` FOREIGN KEY (`import_record_id`) + CONSTRAINT `import_record_matches_ibfk_1` FOREIGN KEY (`import_record_id`) REFERENCES `import_records` (`import_record_id`) ON DELETE CASCADE ON UPDATE CASCADE, KEY `record_score` (`import_record_id`, `score`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8"); @@ -411,7 +411,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { `isbn` varchar(14) default NULL, `issn` varchar(9) default NULL, `has_items` tinyint(1) NOT NULL default 0, - CONSTRAINT `import_biblios_ibfk_1` FOREIGN KEY (`import_record_id`) + CONSTRAINT `import_biblios_ibfk_1` FOREIGN KEY (`import_record_id`) REFERENCES `import_records` (`import_record_id`) ON DELETE CASCADE ON UPDATE CASCADE, KEY `matched_biblionumber` (`matched_biblionumber`), KEY `title` (`title`), @@ -426,7 +426,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { `marcxml` longtext NOT NULL, `import_error` mediumtext, PRIMARY KEY (`import_items_id`), - CONSTRAINT `import_items_ibfk_1` FOREIGN KEY (`import_record_id`) + CONSTRAINT `import_items_ibfk_1` FOREIGN KEY (`import_record_id`) REFERENCES `import_records` (`import_record_id`) ON DELETE CASCADE ON UPDATE CASCADE, KEY `itemnumber` (`itemnumber`), KEY `branchcode` (`branchcode`) @@ -450,7 +450,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { FROM `marc_breeding` JOIN `import_records` ON (`import_record_id` = `id`)"); - $dbh->do("UPDATE `import_batches` + $dbh->do("UPDATE `import_batches` SET `num_biblios` = ( SELECT COUNT(*) FROM `import_records` @@ -470,7 +470,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { SetVersion ($DBversion); } -$DBversion = "3.00.00.015"; +$DBversion = "3.00.00.015"; if (C4::Context->preference("Version") < TransformToNum($DBversion)) { $dbh->do("CREATE TABLE `saved_sql` ( `id` int(11) NOT NULL auto_increment, @@ -496,7 +496,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { SetVersion ($DBversion); } -$DBversion = "3.00.00.016"; +$DBversion = "3.00.00.016"; if (C4::Context->preference("Version") < TransformToNum($DBversion)) { $dbh->do(" CREATE TABLE reports_dictionary ( id int(11) NOT NULL auto_increment, @@ -510,7 +510,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { ) ENGINE=InnoDB DEFAULT CHARSET=utf8 "); print "Upgrade to $DBversion done (reports_dictionary) added)\n"; SetVersion ($DBversion); -} +} $DBversion = "3.00.00.017"; if (C4::Context->preference("Version") < TransformToNum($DBversion)) { @@ -525,13 +525,13 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { $DBversion = "3.00.00.018"; if (C4::Context->preference("Version") < TransformToNum($DBversion)) { - $dbh->do("ALTER TABLE `zebraqueue` + $dbh->do("ALTER TABLE `zebraqueue` ADD `done` INT NOT NULL DEFAULT '0', - ADD `time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ; + ADD `time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ; "); print "Upgrade to $DBversion done (adding timestamp and done columns to zebraque table to improve problem tracking) added)\n"; SetVersion ($DBversion); -} +} $DBversion = "3.00.00.019"; if (C4::Context->preference("Version") < TransformToNum($DBversion)) { @@ -544,7 +544,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { $DBversion = "3.00.00.020"; if (C4::Context->preference("Version") < TransformToNum($DBversion)) { - $dbh->do("ALTER TABLE deleteditems + $dbh->do("ALTER TABLE deleteditems DROP KEY `delitembarcodeidx`, ADD KEY `delitembarcodeidx` (`barcode`)"); print "Upgrade to $DBversion done (dropped uniqueness of key on deleteditems.barcode)\n"; @@ -559,13 +559,13 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { $dbh->do("ALTER TABLE subscription CHANGE lastbranch lastbranch VARCHAR(10)"); print "Upgrade to $DBversion done (extended missed branchcode columns to 10 chars)\n"; SetVersion ($DBversion); -} +} $DBversion = "3.00.00.022"; if (C4::Context->preference("Version") < TransformToNum($DBversion)) { - $dbh->do("ALTER TABLE items + $dbh->do("ALTER TABLE items ADD `damaged` tinyint(1) default NULL AFTER notforloan"); - $dbh->do("ALTER TABLE deleteditems + $dbh->do("ALTER TABLE deleteditems ADD `damaged` tinyint(1) default NULL AFTER notforloan"); print "Upgrade to $DBversion done (adding damaged column to items table)\n"; SetVersion ($DBversion); @@ -577,7 +577,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { VALUES ('yuipath','http://yui.yahooapis.com/2.3.1/build','Insert the path to YUI libraries','','free')"); print "Upgrade to $DBversion done (adding new system preference for controlling YUI path)\n"; SetVersion ($DBversion); -} +} $DBversion = "3.00.00.024"; if (C4::Context->preference("Version") < TransformToNum($DBversion)) { $dbh->do("ALTER TABLE biblioitems CHANGE itemtype itemtype VARCHAR(10)"); @@ -951,7 +951,7 @@ VALUES( 'he', 'Hebr')"); $DBversion = "3.00.00.046"; if (C4::Context->preference("Version") < TransformToNum($DBversion)) { - $dbh->do("ALTER TABLE `subscription` CHANGE `numberlength` `numberlength` int(11) default '0' , + $dbh->do("ALTER TABLE `subscription` CHANGE `numberlength` `numberlength` int(11) default '0' , CHANGE `weeklength` `weeklength` int(11) default '0'"); $dbh->do("CREATE TABLE `serialitems` (`serialid` int(11) NOT NULL, `itemnumber` int(11) NOT NULL, UNIQUE KEY `serialididx` (`serialid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8"); $dbh->do("INSERT INTO `serialitems` SELECT `serialid`,`itemnumber` from serial where NOT ISNULL(itemnumber) && itemnumber <> '' && itemnumber NOT LIKE '%,%'"); @@ -1001,7 +1001,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { SetVersion ($DBversion); } -$DBversion = "3.00.00.053"; +$DBversion = "3.00.00.053"; if (C4::Context->preference("Version") < TransformToNum($DBversion)) { $dbh->do("CREATE TABLE `printers_profile` ( `prof_id` int(4) NOT NULL auto_increment, @@ -1025,7 +1025,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { ) ENGINE=InnoDB DEFAULT CHARSET=utf8 "); print "Upgrade to $DBversion done ( Printer Profile tables added )\n"; SetVersion ($DBversion); -} +} $DBversion = "3.00.00.054"; if (C4::Context->preference("Version") < TransformToNum($DBversion)) { @@ -1051,7 +1051,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { print "Upgrade to $DBversion done ( Added item.enumchron column, and framework map to 952h )\n"; SetVersion ($DBversion); } - + $DBversion = "3.00.00.057"; if (C4::Context->preference("Version") < TransformToNum($DBversion)) { $dbh->do("INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OAI-PMH','0','if ON, OAI-PMH server is enabled',NULL,'YesNo');"); @@ -1064,10 +1064,10 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { $DBversion = "3.00.00.058"; if (C4::Context->preference("Version") < TransformToNum($DBversion)) { - $dbh->do("ALTER TABLE `opac_news` - CHANGE `lang` `lang` VARCHAR( 25 ) - CHARACTER SET utf8 - COLLATE utf8_general_ci + $dbh->do("ALTER TABLE `opac_news` + CHANGE `lang` `lang` VARCHAR( 25 ) + CHARACTER SET utf8 + COLLATE utf8_general_ci NOT NULL default ''"); print "Upgrade to $DBversion done ( lang field in opac_news made longer )\n"; SetVersion ($DBversion); @@ -1150,9 +1150,9 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { KEY `old_issuesborridx` (`borrowernumber`), KEY `old_issuesitemidx` (`itemnumber`), KEY `old_bordate` (`borrowernumber`,`timestamp`), - CONSTRAINT `old_issues_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) + CONSTRAINT `old_issues_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE SET NULL, - CONSTRAINT `old_issues_ibfk_2` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) + CONSTRAINT `old_issues_ibfk_2` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE SET NULL ON UPDATE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8"); $dbh->do("CREATE TABLE `old_reserves` ( @@ -1174,11 +1174,11 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { KEY `old_reserves_biblionumber` (`biblionumber`), KEY `old_reserves_itemnumber` (`itemnumber`), KEY `old_reserves_branchcode` (`branchcode`), - CONSTRAINT `old_reserves_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) + CONSTRAINT `old_reserves_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE SET NULL, - CONSTRAINT `old_reserves_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) + CONSTRAINT `old_reserves_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE SET NULL ON UPDATE SET NULL, - CONSTRAINT `old_reserves_ibfk_3` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) + CONSTRAINT `old_reserves_ibfk_3` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE SET NULL ON UPDATE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8"); @@ -1263,7 +1263,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { `code` varchar(30) DEFAULT NULL, CONSTRAINT `user_permissions_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `user_permissions_ibfk_2` FOREIGN KEY (`module_bit`, `code`) + CONSTRAINT `user_permissions_ibfk_2` FOREIGN KEY (`module_bit`, `code`) REFERENCES `permissions` (`module_bit`, `code`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8"); @@ -1284,7 +1284,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { (13, 'delete_anonymize_patrons', 'Delete old borrowers and anonymize circulation history (deletes borrower reading history)'), (13, 'batch_upload_patron_images', 'Upload patron images in batch or one at a time'), (13, 'schedule_tasks', 'Schedule tasks to run')"); - + $dbh->do("INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('GranularPermissions','0','Use detailed staff user permissions',NULL,'YesNo')"); print "Upgrade to $DBversion done (adding permissions and user_permissions tables and GranularPermissions syspref) \n"; @@ -1416,13 +1416,13 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { $dbh->do("ALTER TABLE import_batches ADD COLUMN nomatch_action enum('create_new', 'ignore') NOT NULL default 'create_new' AFTER overlay_action"); $dbh->do("ALTER TABLE import_batches - ADD COLUMN item_action enum('always_add', 'add_only_for_matches', 'add_only_for_new', 'ignore') + ADD COLUMN item_action enum('always_add', 'add_only_for_matches', 'add_only_for_new', 'ignore') NOT NULL default 'always_add' AFTER nomatch_action"); $dbh->do("ALTER TABLE import_batches MODIFY overlay_action enum('replace', 'create_new', 'use_template', 'ignore') NOT NULL default 'create_new'"); $dbh->do("ALTER TABLE import_records - MODIFY status enum('error', 'staged', 'imported', 'reverted', 'items_reverted', + MODIFY status enum('error', 'staged', 'imported', 'reverted', 'items_reverted', 'ignored') NOT NULL default 'staged'"); $dbh->do("ALTER TABLE import_items MODIFY status enum('error', 'staged', 'imported', 'reverted', 'ignored') NOT NULL default 'staged'"); @@ -1441,7 +1441,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { $dbh->{PrintError} = 0; my ($raise_error) = $dbh->{RaiseError}; $dbh->{RaiseError} = 1; - + my $count = 0; my $do_drop = 1; eval { $count = $dbh->do("SELECT 1 FROM categorytable"); }; @@ -1473,7 +1473,7 @@ $DBversion = "3.00.00.078"; if (C4::Context->preference("Version") < TransformToNum($DBversion)) { my ($print_error) = $dbh->{PrintError}; $dbh->{PrintError} = 0; - + unless ($dbh->do("SELECT 1 FROM browser")) { $dbh->{PrintError} = $print_error; $dbh->do("CREATE TABLE `browser` ( @@ -1546,11 +1546,11 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { SetVersion ($DBversion); } -$DBversion = "3.00.00.083"; -if (C4::Context->preference("Version") < TransformToNum($DBversion)) { - $dbh->do( qq(UPDATE systempreferences SET value='local' where variable='yuipath' and value like "%/intranet-tmpl/prog/%")); - print "Upgrade to $DBversion done (Changing yuipath behaviour in managing a local value)\n"; - SetVersion ($DBversion); +$DBversion = "3.00.00.083"; +if (C4::Context->preference("Version") < TransformToNum($DBversion)) { + $dbh->do( qq(UPDATE systempreferences SET value='local' where variable='yuipath' and value like "%/intranet-tmpl/prog/%")); + print "Upgrade to $DBversion done (Changing yuipath behaviour in managing a local value)\n"; + SetVersion ($DBversion); } $DBversion = "3.00.00.084"; if (C4::Context->preference("Version") < TransformToNum($DBversion)) { @@ -1558,7 +1558,7 @@ $DBversion = "3.00.00.084"; $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('GoogleJackets','0','if ON, displays jacket covers from Google Books API',NULL,'YesNo')"); print "Upgrade to $DBversion done (add new sysprefs)\n"; SetVersion ($DBversion); -} +} $DBversion = "3.00.00.085"; if (C4::Context->preference("Version") < TransformToNum($DBversion)) { @@ -1639,7 +1639,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { CONSTRAINT `branch_borrower_circ_rules_ibfk_2` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 - "); + "); $dbh->do(" CREATE TABLE `default_borrower_circ_rules` ( `categorycode` VARCHAR(10) NOT NULL, @@ -1648,7 +1648,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { CONSTRAINT `borrower_borrower_circ_rules_ibfk_1` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 - "); + "); $dbh->do(" CREATE TABLE `default_branch_circ_rules` ( `branchcode` VARCHAR(10) NOT NULL, @@ -1657,7 +1657,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { CONSTRAINT `default_branch_circ_rules_ibfk_1` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 - "); + "); $dbh->do(" CREATE TABLE `default_circ_rules` ( `singleton` enum('singleton') NOT NULL default 'singleton', @@ -1771,7 +1771,7 @@ VALUES ('circulation','EVENT','Upcoming Library Event','Upcoming Library Event','Dear <> <>,\r\n\r\nThis is a reminder of an upcoming library event in which you have expressed interest.'); END_SQL - my @sql_scripts = ( + my @sql_scripts = ( 'installer/data/mysql/en/mandatory/message_transport_types.sql', 'installer/data/mysql/en/optional/sample_notices_message_attributes.sql', 'installer/data/mysql/en/optional/sample_notices_message_transports.sql', @@ -1975,13 +1975,13 @@ if ( C4::Context->preference('Version') < TransformToNum($DBversion) ) { `item_level_request` tinyint(4) NOT NULL default 0, PRIMARY KEY `itemnumber` (`itemnumber`), KEY `bib_branch` (`biblionumber`, `source_branchcode`), - CONSTRAINT `hold_fill_targets_ibfk_1` FOREIGN KEY (`borrowernumber`) + CONSTRAINT `hold_fill_targets_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `hold_fill_targets_ibfk_2` FOREIGN KEY (`biblionumber`) + CONSTRAINT `hold_fill_targets_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `hold_fill_targets_ibfk_3` FOREIGN KEY (`itemnumber`) + CONSTRAINT `hold_fill_targets_ibfk_3` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `hold_fill_targets_ibfk_4` FOREIGN KEY (`source_branchcode`) + CONSTRAINT `hold_fill_targets_ibfk_4` FOREIGN KEY (`source_branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 "); @@ -2004,13 +2004,13 @@ if ( C4::Context->preference('Version') < TransformToNum($DBversion) ) { UPDATE issues iss SET issuedate = ( SELECT max(datetime) - FROM statistics + FROM statistics WHERE type = 'issue' AND itemnumber = iss.itemnumber AND borrowernumber = iss.borrowernumber ) WHERE issuedate IS NULL; - "); + "); $dbh->do("ALTER TABLE statistics DROP KEY tmp_stats"); # default to last renewal date @@ -2226,7 +2226,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { VALUES ( 'BranchTransferLimitsType', 'ccode', 'itemtype|ccode', 'When using branch transfer limits, choose whether to limit by itemtype or collection code.', 'Choice' );"); - + print "Upgrade to $DBversion done ( Updated table for Branch Transfer Limits)\n"; SetVersion ($DBversion); } @@ -2423,8 +2423,8 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { MODIFY borrowernumber int(11) default NULL, ADD categorycode varchar(10) default NULL AFTER borrowernumber, ADD KEY `categorycode` (`categorycode`), - ADD CONSTRAINT `borrower_message_preferences_ibfk_3` - FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`) + ADD CONSTRAINT `borrower_message_preferences_ibfk_3` + FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`) ON DELETE CASCADE ON UPDATE CASCADE /); print "Upgrade to $DBversion done (DB changes to allow patron category defaults for messaging preferences)\n"; @@ -2470,7 +2470,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { $DBversion = "3.01.00.038"; if (C4::Context->preference("Version") < TransformToNum($DBversion)) { # update branches table - # + # $dbh->do("ALTER TABLE branches ADD `branchzip` varchar(25) default NULL AFTER `branchaddress3`"); $dbh->do("ALTER TABLE branches ADD `branchcity` mediumtext AFTER `branchzip`"); $dbh->do("ALTER TABLE branches ADD `branchcountry` text AFTER `branchcity`"); @@ -2538,7 +2538,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { $DBversion = "3.01.00.046"; if (C4::Context->preference("Version") < TransformToNum($DBversion)) { # update borrowers table - # + # $dbh->do("ALTER TABLE borrowers ADD `country` text AFTER zipcode"); $dbh->do("ALTER TABLE borrowers ADD `B_country` text AFTER B_zipcode"); $dbh->do("ALTER TABLE deletedborrowers ADD `country` text AFTER zipcode"); @@ -2720,13 +2720,13 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { $sth->execute(); my $sthupd = $dbh->prepare("UPDATE issuingrules SET renewalsallowed = ? WHERE itemtype = ?"); - + while(my $row = $sth->fetchrow_hashref){ $sthupd->execute($row->{renewalsallowed}, $row->{itemtype}); } - + $dbh->do('ALTER TABLE itemtypes DROP COLUMN `renewalsallowed`;'); - + SetVersion ($DBversion); print "Upgrade to $DBversion done (Moving allowed renewals from itemtypes to issuingrule)\n"; } @@ -2734,15 +2734,15 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { $DBversion = '3.01.00.066'; if (C4::Context->preference("Version") < TransformToNum($DBversion)) { $dbh->do('ALTER TABLE issuingrules ADD COLUMN `reservesallowed` smallint(6) NOT NULL default "0" AFTER `renewalsallowed`;'); - + my $maxreserves = C4::Context->preference('maxreserves'); $sth = $dbh->prepare('UPDATE issuingrules SET reservesallowed = ?;'); $sth->execute($maxreserves); - + $dbh->do('DELETE FROM systempreferences WHERE variable = "maxreserves";'); $dbh->do("INSERT INTO systempreferences (variable,value, options, explanation, type) VALUES('ReservesControlBranch','PatronLibrary','ItemHomeLibrary|PatronLibrary','Branch checked for members reservations rights','Choice')"); - + SetVersion ($DBversion); print "Upgrade to $DBversion done (Moving max allowed reserves from system preference to issuingrule)\n"; } @@ -2756,9 +2756,9 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { $DBversion = "3.01.00.068"; if (C4::Context->preference("Version") < TransformToNum($DBversion)) { - $dbh->do("ALTER TABLE issuingrules ADD + $dbh->do("ALTER TABLE issuingrules ADD COLUMN `finedays` int(11) default NULL AFTER `fine`, - COLUMN `renewalsallowed` smallint(6) default NULL, + COLUMN `renewalsallowed` smallint(6) default NULL, COLUMN `reservesallowed` smallint(6) default NULL, "); my $sth = $dbh->prepare("SELECT itemtype, renewalsallowed FROM itemtypes"); @@ -2844,7 +2844,7 @@ CREATE TABLE IF NOT EXISTS `aqcontract` ( `contractdescription` mediumtext, `booksellerid` int(11) not NULL, PRIMARY KEY (`contractnumber`), - CONSTRAINT `booksellerid_fk1` FOREIGN KEY (`booksellerid`) + CONSTRAINT `booksellerid_fk1` FOREIGN KEY (`booksellerid`) REFERENCES `aqbooksellers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; END_SQL @@ -2920,14 +2920,14 @@ ADDPERIODS # `aqbudgetid` tinyint(4) NOT NULL auto_increment, # `branchcode` varchar(10) default NULL, DropAllForeignKeys('aqbudget'); - #$dbh->do("drop table aqbudget;"); + #$dbh->do("drop table aqbudget;"); $dbh->do(<selectcol_arrayref(<do(<do(<do(<do(<do(<prepare(qq|SELECT budget_period_id from aqbudgetperiods where budget_period_startdate=? and budget_period_enddate=?|); my $query_bookfund= $dbh->prepare(qq|SELECT * from aqbookfund where bookfundid=?|); my $selectbudgets=$dbh->prepare(qq|SELECT * from aqbudgets|); - my $updatebudgets=$dbh->prepare(qq|UPDATE aqbudgets SET budget_period_id= ? , budget_name=?, budget_branchcode=? where budget_id=?|); + my $updatebudgets=$dbh->prepare(qq|UPDATE aqbudgets SET budget_period_id= ? , budget_name=?, budget_branchcode=? where budget_id=?|); $selectbudgets->execute; while (my $databudget=$selectbudgets->fetchrow_hashref){ - $query_period->execute ($$databudget{startdate},$$databudget{enddate}); + $query_period->execute ($$databudget{startdate},$$databudget{enddate}); my ($budgetperiodid)=$query_period->fetchrow; - $query_bookfund->execute ($$databudget{budget_code}); + $query_bookfund->execute ($$databudget{budget_code}); my $databf=$query_bookfund->fetchrow_hashref; my $branchcode=$$databudget{budget_branchcode}||$$databf{branchcode}; $updatebudgets->execute($budgetperiodid,$$databf{bookfundname},$branchcode,$$databudget{budget_id}); } $dbh->do(<do("ALTER TABLE `aqorders` + $dbh->do("ALTER TABLE `aqorders` ADD COLUMN `budget_id` tinyint(4) NOT NULL, ADD COLUMN `budgetgroup_id` int(11) NOT NULL, ADD COLUMN `sort1_authcat` varchar(10) default NULL, @@ -3082,7 +3082,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { $DBversion = "3.01.00.083"; if (C4::Context->preference("Version") < TransformToNum($DBversion)) { - $dbh->do(qq| + $dbh->do(qq| CREATE TABLE `aqorders_items` ( `ordernumber` int(11) NOT NULL, `itemnumber` int(11) NOT NULL, @@ -3116,7 +3116,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { $DBversion = "3.01.00.086"; if (C4::Context->preference("Version") < TransformToNum($DBversion)) { $dbh->do(<preference("Version") < TransformToNum($DBversion)) { $dbh->do(" UPDATE `systempreferences` SET `options` = 'holdings|serialcollection|subscriptions' - WHERE `systempreferences`.`variable` = 'opacSerialDefaultTab' LIMIT 1 + WHERE `systempreferences`.`variable` = 'opacSerialDefaultTab' LIMIT 1 "); print "Upgrade to $DBversion done (opac-detail default tag updated)\n"; @@ -3208,7 +3208,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { $dbh->do(qq{ ALTER TABLE aqbasketgroups ADD deliveryplace VARCHAR(10) default NULL, ADD deliverycomment VARCHAR(255) default NULL; }); - + print "Upgrade to $DBversion done (adding deliveryplace deliverycomment to basketgroups)\n"; SetVersion ($DBversion); } @@ -3229,7 +3229,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { }); if (C4::Context->preference('marcflavour') eq 'UNIMARC'){ $dbh->do(qq{ - INSERT IGNORE INTO marc_subfield_structure (frameworkcode,tagfield, tagsubfield, tab, repeatable, mandatory,kohafield) + INSERT IGNORE INTO marc_subfield_structure (frameworkcode,tagfield, tagsubfield, tab, repeatable, mandatory,kohafield) SELECT DISTINCT (frameworkcode),995,"j",10,0,0,"items.stocknumber" from biblio_framework ; }); #Previously, copynumber was used as stocknumber @@ -3239,7 +3239,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { $dbh->do(qq{ UPDATE items set copynumber=NULL; }); - } + } print "Upgrade to $DBversion done (stocknumber field added)\n"; SetVersion ($DBversion); } @@ -3257,7 +3257,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { $dbh->do(qq{ ALTER TABLE aqbasketgroups ADD billingplace VARCHAR(10) NOT NULL AFTER deliverycomment; }); - + print "Upgrade to $DBversion done (Adding billingplace to aqbasketgroups)\n"; SetVersion ($DBversion); } @@ -3267,7 +3267,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { $dbh->do(qq{ ALTER TABLE auth_subfield_structure MODIFY frameworkcode VARCHAR(10) NULL; }); - + print "Upgrade to $DBversion done (changing frameworkcode length in auth_subfield_structure)\n"; SetVersion ($DBversion); } @@ -3279,7 +3279,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { (9, 'edit_catalogue', 'Edit catalogue'), (9, 'fast_cataloging', 'Fast cataloging') }); - + print "Upgrade to $DBversion done (granular permissions for cataloging added)\n"; SetVersion ($DBversion); } @@ -3291,6 +3291,14 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { SetVersion ($DBversion); } +$DBversion = '3.01.00.101'; +if (C4::Context->preference("Version") < TransformToNum($DBversion)) { + my $upgrade_script = C4::Context->config("intranetdir") . "/installer/data/mysql/patroncards_upgrade.pl"; + system("perl $upgrade_script"); + print "Upgrade to $DBversion done (Migrated labels and patroncards tables and data to new schema.)\n"; + SetVersion ($DBversion); +} + =item DropAllForeignKeys($table) Drop all foreign keys of the table $table diff --git a/kohaversion.pl b/kohaversion.pl index c16b996220..66a79593fc 100644 --- a/kohaversion.pl +++ b/kohaversion.pl @@ -3,14 +3,14 @@ # - #1 : the major number. 3 atm # - #2 : the functionnal release. 00 atm # - #3 : the subnumber, moves only on a public release -# - #4 : the developer version. The 4th number is the database subversion. +# - #4 : the developer version. The 4th number is the database subversion. # used by developers when the database changes. updatedatabase take care of the changes itself # and is automatically called by Auth.pm when needed. use strict; sub kohaversion { - our $VERSION = '3.01.00.100'; + our $VERSION = '3.01.00.101'; # version needs to be set this way # so that it can be picked up by Makefile.PL # during install -- 2.39.5