X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=installer%2Fdata%2Fmysql%2Fupdatedatabase.pl;h=89170811a862017b57698009368bedfbd2c50ab4;hb=0c78001410157d530eabbcac2c198a708e7ec508;hp=db9bf95278826a6048180959370a76098349d1fb;hpb=73d4ac9bab051a7c12677d427f669c092469f4df;p=koha_fer diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index db9bf95278..89170811a8 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -7165,7 +7165,6 @@ $DBversion = "3.13.00.024"; if ( CheckVersion($DBversion) ) { $dbh->do(q{ALTER TABLE z3950servers ADD COLUMN recordtype VARCHAR(45) NOT NULL DEFAULT 'biblio' AFTER description;}); print "Upgrade to $DBversion done (Bug 10096 - Add a Z39.50 interface for authority searching)\n"; - SetVersion ($DBversion); } $DBversion = "3.13.00.025"; @@ -7613,8 +7612,13 @@ CREATE TABLE borrower_debarments ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8; }); + # debarments with end date + $dbh->do(q{ +INSERT INTO borrower_debarments ( borrowernumber, expiration, comment ) SELECT borrowernumber, debarred, debarredcomment FROM borrowers WHERE debarred IS NOT NULL AND debarred <> '9999-12-31' + }); + # debarments with no end date $dbh->do(q{ -INSERT INTO borrower_debarments ( borrowernumber, expiration, comment ) SELECT borrowernumber, debarred, debarredcomment FROM borrowers WHERE debarred IS NOT NULL +INSERT INTO borrower_debarments ( borrowernumber, comment ) SELECT borrowernumber, debarredcomment FROM borrowers WHERE debarred = '9999-12-31' }); $dbh->do(q{ @@ -7733,7 +7737,7 @@ if(CheckVersion($DBversion)) { $dbh->do(q{ INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('AcqItemSetSubfieldsWhenReceived','','Set subfields for item when items are created when receiving (e.g. o=5|a="foo bar")','','Free'); }); - print "Upgrade to $DBversion done (Added AcqItemSetSubfieldsWhenReceived syspref)\n"; + print "Upgrade to $DBversion done (Bug 10986: Added AcqItemSetSubfieldsWhenReceived syspref)\n"; SetVersion($DBversion); } @@ -7750,6 +7754,453 @@ if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { SetVersion($DBversion); } +$DBversion = "3.14.00.000"; +if ( CheckVersion($DBversion) ) { + print "Upgrade to $DBversion done (3.14.0 release)\n"; + SetVersion ($DBversion); +} + +$DBversion = '3.15.00.000'; +if ( CheckVersion($DBversion) ) { + print "Upgrade to $DBversion done (the road goes ever on)\n"; + SetVersion ($DBversion); +} + +$DBversion = "3.15.00.001"; +if ( CheckVersion($DBversion) ) { + $dbh->do("UPDATE systempreferences SET value='clear' where variable = 'CircAutoPrintQuickSlip' and value = '0'"); + $dbh->do("UPDATE systempreferences SET value='qslip' where variable = 'CircAutoPrintQuickSlip' and value = '1'"); + $dbh->do("UPDATE systempreferences SET explanation = 'Choose what should happen when an empty barcode field is submitted in circulation: Display a print quick slip window, Display a print slip window or Clear the screen.', type = 'Choice' where variable = 'CircAutoPrintQuickSlip'"); + print "Upgrade to $DBversion done (Bug 11040: Add option to print full slip when checking out a null barcode)\n"; + SetVersion($DBversion); +} + +$DBversion = "3.15.00.002"; +if(CheckVersion($DBversion)) { + $dbh->do("ALTER TABLE deleteditems MODIFY materials text;"); + print "Upgrade to $DBversion done (Bug 11275: alter deleteditems.materials from varchar(10) to text)\n"; + SetVersion($DBversion); +} + +$DBversion = "3.15.00.003"; +if ( CheckVersion($DBversion) ) { + $dbh->do(q{ + UPDATE accountlines + SET description = '' + WHERE description IN ( + ' New Card', + ' Fine', + ' Sundry', + 'Writeoff', + ' Account Management fee', + 'Payment,thanks', 'Payment,thanks - ', + ' Lost Item' + ) + }); + print "Upgrade to $DBversion done (Bug 2546: Update fine descriptions)\n"; + SetVersion($DBversion); +} + +$DBversion = "3.15.00.004"; +if ( CheckVersion($DBversion) ) { + if ( C4::Context->preference("marcflavour") eq 'MARC21' ) { + $dbh->do(qq{ + INSERT IGNORE INTO marc_subfield_structure (tagfield, tagsubfield, liblibrarian, libopac, repeatable, mandatory, + kohafield, tab, authorised_value, authtypecode, value_builder, isurl, hidden, frameworkcode, seealso, link, + defaultvalue) VALUES + ('015', 'q', 'Qualifying information', 'Qualifying information', 1, 0, '', 0, '', '', '', 0, 0, '', '', '', NULL), + ('020', 'q', 'Qualifying information', 'Qualifying information', 1, 0, '', 0, '', '', '', 0, 0, '', '', '', NULL), + ('024', 'q', 'Qualifying information', 'Qualifying information', 1, 0, '', 0, '', '', '', 0, 0, '', '', '', NULL), + ('027', 'q', 'Qualifying information', 'Qualifying information', 1, 0, '', 0, '', '', '', 0, 0, '', '', '', NULL), + ('800', '7', 'Control subfield', 'Control subfield', 0, 0, '', 8, '', '', '', NULL, -6, '', '', '', NULL), + ('810', '7', 'Control subfield', 'Control subfield', 0, 0, '', 8, '', '', '', NULL, -6, '', '', '', NULL), + ('811', '7', 'Control subfield', 'Control subfield', 0, 0, '', 8, '', '', '', NULL, -6, '', '', '', NULL), + ('830', '7', 'Control subfield', 'Control subfield', 0, 0, '', 8, '', '', '', NULL, -6, '', '', '', NULL); + }); + $dbh->do(qq{ + INSERT IGNORE INTO auth_subfield_structure (authtypecode, tagfield, tagsubfield, liblibrarian, libopac, repeatable, + mandatory, tab, authorised_value, value_builder, seealso, isurl, hidden, linkid, kohafield, frameworkcode) VALUES + ('', '020', 'q', 'Qualifying information', 'Qualifying information', 1, 0, 0, NULL, NULL, NULL, 0, 0, '', '', ''), + ('', '024', 'q', 'Qualifying information', 'Qualifying information', 1, 0, 0, NULL, NULL, NULL, 0, 0, '', '', ''); + }); + } + print "Upgrade to $DBversion done (Bug 10970 - Update MARC21 frameworks to Update Nr. 17 - DB update)\n"; + SetVersion($DBversion); +} + +$DBversion = "3.15.00.005"; +if ( CheckVersion($DBversion) ) { + $dbh->do("INSERT INTO systempreferences (variable,value,options,explanation,type) VALUES('AcquisitionDetails', '1', '', 'Hide/Show acquisition details on the biblio detail page.', 'YesNo');"); + print "Upgrade to $DBversion done (Bug 8230: Add AcquisitionDetails system preference)\n"; + SetVersion ($DBversion); +} + +$DBversion = "3.15.00.006"; +if(CheckVersion($DBversion)) { + $dbh->do(q{ + ALTER TABLE `borrowers` + ADD KEY `surname_idx` (`surname`(255)), + ADD KEY `firstname_idx` (`firstname`(255)), + ADD KEY `othernames_idx` (`othernames`(255)) + }); + print "Upgrade to $DBversion done (Bug 11249 - Add DB indexes on borrower names)\n"; + SetVersion($DBversion); +} + +$DBversion = "3.15.00.007"; +if ( CheckVersion($DBversion) ) { + $dbh->do("ALTER TABLE items ADD itemlost_on DATETIME NULL AFTER itemlost"); + $dbh->do("ALTER TABLE items ADD withdrawn_on DATETIME NULL AFTER withdrawn"); + $dbh->do("ALTER TABLE deleteditems ADD itemlost_on DATETIME NULL AFTER itemlost"); + $dbh->do("ALTER TABLE deleteditems ADD withdrawn_on DATETIME NULL AFTER withdrawn"); + print "Upgrade to $DBversion done (Bug 9673 - Track when items are marked as lost or withdrawn)\n"; + SetVersion ($DBversion); +} + +$DBversion = "3.15.00.008"; +if ( CheckVersion($DBversion) ) { + $dbh->do(q{ + ALTER TABLE collections_tracking CHANGE ctId collections_tracking_id integer(11) NOT NULL auto_increment; + }); + print "Upgrade to $DBversion done (Bug 11384) - change name of collections_tracker.ctId column)\n"; + SetVersion ($DBversion); +} + +$DBversion = "3.15.00.009"; +if ( CheckVersion($DBversion) ) { + $dbh->do(q{ + ALTER TABLE suggestions MODIFY suggesteddate DATE NOT NULL + }); + print "Upgrade to $DBversion done (Bug 11391) - drop default value on suggestions.suggesteddate column)\n"; + SetVersion ($DBversion); +} + +$DBversion = "3.15.00.010"; +if(CheckVersion($DBversion)) { + $dbh->do("ALTER TABLE deleteditems DROP COLUMN marc"); + print "Upgrade to $DBversion done (Bug 6331: remove obsolete column in deleteditems.marc)\n"; + SetVersion ($DBversion); +} + +$DBversion = "3.15.00.011"; +if(CheckVersion($DBversion)) { + $dbh->do("UPDATE marc_subfield_structure SET maxlength=9999 WHERE maxlength IS NULL OR maxlength=0;"); + print "Upgrade to $DBversion done (Bug 8018: set 9999 as default max length for subfields)\n"; + SetVersion ($DBversion); +} + +$DBversion = "3.15.00.012"; +if ( CheckVersion($DBversion) ) { + $dbh->do(q{ + INSERT INTO permissions (module_bit, code, description) VALUES ( 1, 'force_checkout', 'Force checkout if a limitation exists') + }); + $dbh->do(q{ + INSERT INTO permissions (module_bit, code, description) VALUES ( 1, 'manage_restrictions', 'Manage restrictions for accounts') + }); + $dbh->do(q{ + INSERT INTO user_permissions (borrowernumber, module_bit, code) + SELECT user_permissions.borrowernumber, 1, 'force_checkout' + FROM user_permissions + LEFT JOIN borrowers USING(borrowernumber) + WHERE borrowers.flags & (1 << 1) + }); + $dbh->do(q{ + INSERT INTO user_permissions (borrowernumber, module_bit, code) + SELECT user_permissions.borrowernumber, 1, 'manage_restrictions' + FROM user_permissions + LEFT JOIN borrowers USING(borrowernumber) + WHERE borrowers.flags & (1 << 1) + }); + + print "Upgrade to $DBversion done (Bug 10863 - Add permissions force_checkout and manage_restrictions)\n"; + SetVersion($DBversion); +} + +$DBversion = "3.15.00.013"; +if(CheckVersion($DBversion)) { + $dbh->do(q{ + UPDATE systempreferences + SET explanation = 'Upon receiving items, update their subfields if they were created when placing an order (e.g. o=5|a="foo bar")' + WHERE variable = "AcqItemSetSubfieldsWhenReceived" + }); + + $dbh->do(q{ + UPDATE systempreferences + SET value = '' + WHERE variable = "AcqItemSetSubfieldsWhenReceived" + AND value = "0" + }); + print "Upgrade to $DBversion done (Bug 11237: Update explanation and default value for AcqItemSetSubfieldsWhenReceived syspref)\n"; + SetVersion($DBversion); +} + +$DBversion = "3.15.00.014"; +if (CheckVersion($DBversion)) { + $dbh->do("INSERT INTO systempreferences (variable,value,options,explanation,type) VALUES('SelfCheckReceiptPrompt', '1', 'NULL', 'If ON, print receipt dialog pops up when self checkout is finished.', 'YesNo');"); + print "Upgrade to $DBversion done (Bug 11415: add system preference for automatic self checkout receipt printing)\n"; + SetVersion($DBversion); +} + +$DBversion = "3.15.00.015"; +if (CheckVersion($DBversion)) { + $dbh->do("INSERT INTO systempreferences ( variable, value, options, explanation, type ) VALUES + ('OpacSuggestionManagedBy',1,'','Show the name of the staff member who managed a suggestion in OPAC','YesNo');"); + print "Upgrade to $DBversion done (Bug 10907: Add OpacSuggestionManagedBy system preference)\n"; + SetVersion($DBversion); +} + +$DBversion = "3.15.00.016"; +if (CheckVersion($DBversion)) { + $dbh->do("ALTER TABLE biblioitems CHANGE url url TEXT NULL DEFAULT NULL"); + $dbh->do("ALTER TABLE deletedbiblioitems CHANGE url url TEXT NULL DEFAULT NULL"); + print "Upgrade to $DBversion done (Bug 11268 - Biblioitems URL field is too small for some URLs)\n"; + SetVersion($DBversion); +} + +$DBversion = "3.15.00.017"; +if(CheckVersion($DBversion)) { + $dbh->do(q{ + UPDATE systempreferences + SET explanation = 'Define the contents of UNIMARC authority control field 100 position 08-35' + WHERE variable = "UNIMARCAuthorityField100" + }); + $dbh->do(q{ + UPDATE systempreferences + SET explanation = 'Define the contents of MARC21 authority control field 008 position 06-39' + WHERE variable = "MARCAuthorityControlField008" + }); + $dbh->do(q{ + UPDATE systempreferences + SET explanation = 'Define MARC Organization Code for MARC21 records - http://www.loc.gov/marc/organizations/orgshome.html' + WHERE variable = "MARCOrgCode" + }); + print "Upgrade to $DBversion done (Bug 11611 - fix possible confusion between UNIMARC and MARC21 in some sysprefs)\n"; + SetVersion($DBversion); +} + +$DBversion = "3.15.00.018"; +if ( CheckVersion($DBversion) ) { + $dbh->{AutoCommit} = 0; + $dbh->{RaiseError} = 1; + + my $av_added = $dbh->do(q| + INSERT INTO authorised_values(category, authorised_value, lib, lib_opac) + SELECT 'ROADTYPE', roadtypeid, road_type, road_type + FROM roadtype; + |); + + my $rt_deleted = $dbh->do(q| + DELETE FROM roadtype + |); + + if ( $av_added == $rt_deleted or $rt_deleted eq "0E0" ) { + $dbh->do(q| + DROP TABLE roadtype; + |); + $dbh->commit; + print "Upgrade to $DBversion done (Bug 7372: Move road types from the roadtype table to the ROADTYPE authorised values)\n"; + SetVersion($DBversion); + } else { + print "Upgrade to $DBversion failed (Bug 7372: Move road types from the roadtype table to the ROADTYPE authorised values.\nTransaction aborted because $@\n)"; + $dbh->rollback; + } + + $dbh->{AutoCommit} = 1; + $dbh->{RaiseError} = 0; +} + +$DBversion = "3.15.00.019"; +if ( CheckVersion($DBversion) ) { + $dbh->do("INSERT IGNORE INTO systempreferences (variable,value,options,explanation,type) VALUES('OpacMaxItemsToDisplay','50','','Max items to display at the OPAC on a biblio detail','Integer')"); + print "Upgrade to $DBversion done (Bug 11256: Add system preference OpacMaxItemsToDisplay)\n"; + SetVersion($DBversion); +} + +$DBversion = "3.15.00.020"; +if ( CheckVersion($DBversion) ) { + $dbh->do(q| + INSERT IGNORE INTO systempreferences (variable,value,options,explanation,type) VALUES('MaxItemsForBatch','1000',NULL,'Max number of items record to process in a batch (modification or deletion)','Integer') + |); + print "Upgrade to $DBversion done (Bug 11343: Add system preference MaxItemsForBatch )\n"; + SetVersion($DBversion); +} + +$DBversion = "3.15.00.021"; +if(CheckVersion($DBversion)) { + $dbh->do(q{ + ALTER TABLE `action_logs` + DROP KEY timestamp, + ADD KEY `timestamp_idx` (`timestamp`), + ADD KEY `user_idx` (`user`), + ADD KEY `module_idx` (`module`(255)), + ADD KEY `action_idx` (`action`(255)), + ADD KEY `object_idx` (`object`), + ADD KEY `info_idx` (`info`(255)) + }); + print "Upgrade to $DBversion done (Bug 3445: Add indexes to action_logs table)\n"; + SetVersion($DBversion); +} + +$DBversion = "3.15.00.022"; +if (CheckVersion($DBversion)) { + $dbh->do(q| + DELETE FROM systempreferences WHERE variable= "memberofinstitution" + |); + print "Upgrade to $DBversion done (Bug 11751: Remove memberofinstitytion system preference)\n"; + SetVersion($DBversion); +} + +$DBversion = "3.15.00.023"; +if ( CheckVersion($DBversion) ) { + $dbh->do(" + INSERT INTO systempreferences (variable,value,options,explanation,type) + VALUES('CardnumberLength', '', '', 'Set a length for card numbers.', 'Free'); + "); + print "Upgrade to $DBversion done (Bug 10861: Add CardnumberLength syspref)\n"; + SetVersion ($DBversion); +} + +$DBversion = "3.15.00.024"; +if ( CheckVersion($DBversion) ) { + $dbh->do(q{ + DELETE FROM systempreferences WHERE variable = 'NoZebraIndexes' + }); + print "Upgrade to $DBversion done (Bug 10012 - remove last vestiges of NoZebra)\n"; + SetVersion($DBversion); +} + +$DBversion = "3.15.00.025"; +if ( CheckVersion($DBversion) ) { + $dbh->do(q{ + DROP TABLE aqorderdelivery; + }); + print "Upgrade to $DBversion done (Bug 11928 - remove unused table)\n"; + SetVersion($DBversion); +} + +$DBversion = "3.15.00.026"; +if ( CheckVersion($DBversion) ) { + $dbh->do(q{ + UPDATE language_descriptions SET description = 'Հայերեն' WHERE subtag = 'hy' AND lang = 'hy'; + }); + print "Upgrade to $DBversion done (Bug 11973 - Fix Armenian language description)\n"; + SetVersion($DBversion); +} + +$DBversion = "3.15.00.027"; +if (CheckVersion($DBversion)) { + $dbh->do(q{ + ALTER TABLE opac_news ADD branchcode varchar(10) DEFAULT NULL + AFTER idnew, + ADD CONSTRAINT opac_news_branchcode_ibfk + FOREIGN KEY (branchcode) + REFERENCES branches (branchcode) + ON DELETE CASCADE ON UPDATE CASCADE; + }); + print "Upgrade to $DBversion done (Bug 7567: Add branchcode to opac_news)\n"; + SetVersion($DBversion); +} + +$DBversion = "3.15.00.028"; +if(CheckVersion($DBversion)) { + $dbh->do(q{ + ALTER TABLE issuingrules ADD norenewalbefore int(4) default NULL AFTER renewalperiod + }); + print "Upgrade to $DBversion done (Bug 7413: Allow OPAC renewal x days before due date)\n"; + SetVersion($DBversion); +} + +$DBversion = "3.15.00.029"; +if ( CheckVersion($DBversion) ) { + $dbh->do(q{ + UPDATE borrower_debarments SET expiration = NULL WHERE expiration = '9999-12-31' + }); + print "Upgrade to $DBversion done (Bug 11846 - correct borrower_debarments with expiration 9999-12-31)\n"; + SetVersion($DBversion); +} + +$DBversion = "3.15.00.030"; +if(CheckVersion($DBversion)) { + $dbh->do(q| + INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('OPACMySummaryNote','','','Note to display on the patron summary page. This note only appears if the patron is connected.','Free') + |); + print "Upgrade to $DBversion done (Bug 12052: Add OPACMySummaryNote syspref)\n"; + SetVersion($DBversion); +} + +$DBversion = "3.15.00.031"; +if ( CheckVersion($DBversion) ) { + $dbh->do("INSERT INTO permissions (module_bit, code, description) VALUES ('10', 'writeoff', 'Write off fines and fees')"); + $dbh->do("INSERT INTO permissions (module_bit, code, description) VALUES ('10', 'remaining_permissions', 'Remaining permissions for managing fines and fees')"); + print "Upgrade to $DBversion done (Bug 9448 - Add separate permission for writing off fees)\n"; + SetVersion ($DBversion); +} + +$DBversion = "3.15.00.032"; +if ( CheckVersion($DBversion) ) { + $dbh->do("ALTER TABLE aqorders CHANGE notes order_internalnote MEDIUMTEXT;"); + $dbh->do("ALTER TABLE aqorders ADD COLUMN order_vendornote MEDIUMTEXT AFTER order_internalnote;"); + print "Upgrade to $DBversion done (Bug 9416 - In each order, add a new note made for the vendor)\n"; + SetVersion ($DBversion); +} + +$DBversion = "3.15.00.033"; +if ( CheckVersion($DBversion) ) { + $dbh->do("INSERT IGNORE INTO systempreferences (variable,value,options,explanation,type) VALUES ('NoLoginInstructions', '', '60|10', 'Instructions to display on the OPAC login form when a patron is not logged in', 'Textarea')"); + print "Upgrade to $DBversion done (Bug 10951: Add NoLoginInstructions pref)\n"; + SetVersion($DBversion); +} + +$DBversion = "3.15.00.034"; +if ( CheckVersion($DBversion) ) { + $dbh->do("INSERT INTO systempreferences (variable,value,options,explanation,type) VALUES('AdvancedSearchLanguages','','','ISO 639-2 codes of languages you wish to see appear as an advanced search option. Example: eng|fra|ita','Textarea')"); + print "Upgrade to $DBversion done (Bug 10986: system preferences to limit languages in advanced search )\n"; + SetVersion ($DBversion); +} + +$DBversion = "3.15.00.035"; +if ( CheckVersion($DBversion) ) { + #insert a notice for sharing a list and accepting a share + $dbh->do(" +INSERT INTO letter (module, code, branchcode, name, is_html, title, content) +VALUES ( 'members', 'SHARE_INVITE', '', 'Invitation for sharing a list', '0', 'Share list <>', 'Dear patron, + +One of our patrons, <> <>, invites you to share a list <> in our library catalog. + +To access this shared list, please click on the following URL or copy-and-paste it into your browser address bar. + +<> + +In case you are not a patron in our library or do not want to accept this invitation, please ignore this mail. Note also that this invitation expires within two weeks. + +Thank you. + +Your library.' + )"); + $dbh->do(" +INSERT INTO letter (module, code, branchcode, name, is_html, title, content) +VALUES ( 'members', 'SHARE_ACCEPT', '', 'Notification about an accepted share', '0', 'Share on list <> accepted', 'Dear patron, + +We want to inform you that <> <> accepted your invitation to share your list <> in our library catalog. + +Thank you. + +Your library.' + )"); + print "Upgrade to $DBversion done (Bug 9032: Share a list)\n"; + SetVersion($DBversion); +} + +$DBversion = "3.15.00.036"; +if ( CheckVersion($DBversion) ) { + $dbh->do(q{ + INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) + VALUES('AllowMultipleIssuesOnABiblio',1,'Allow/Don\'t allow patrons to check out multiple items from one biblio','','YesNo') + }); + + print "Upgrade to $DBversion done (Bug 10859 - Add system preference AllowMultipleIssuesOnABiblio)\n"; + SetVersion($DBversion); +} =head1 FUNCTIONS