X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=installer%2Fdata%2Fmysql%2Fupdatedatabase.pl;h=6e7ca1b5ccb8ec85d61769fff1b5bbb6cc50ea5d;hb=012c6df0015b68dfa390d6ed4faedbc42c8af9ce;hp=62c0e0b8adcd5137d361c6702bacd626d4c292ab;hpb=7eef4c8c700dc81e8ab2fd28486162ff7db35ede;p=srvgit diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index 62c0e0b8ad..6e7ca1b5cc 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -4893,19 +4893,21 @@ if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { $DBversion = "3.07.00.025"; if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { - $dbh->do( q|DROP TABLE bibliocoverimage;| ); - $dbh->do( - q|CREATE TABLE biblioimages ( - imagenumber int(11) NOT NULL AUTO_INCREMENT, - biblionumber int(11) NOT NULL, - mimetype varchar(15) NOT NULL, - imagefile mediumblob NOT NULL, - thumbnail mediumblob NOT NULL, - PRIMARY KEY (imagenumber), - CONSTRAINT bibliocoverimage_fk1 FOREIGN KEY (biblionumber) REFERENCES biblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE - ) ENGINE=InnoDB DEFAULT CHARSET=utf8;| - ); - print "Upgrade to $DBversion done (Correct table name for local cover images [please disregard the following error messages: \"Unknown table 'bibliocoverimage'...\" and \"Table 'biblioimages' already exists...\"])\n"; + if (TableExists('bibliocoverimage')) { + $dbh->do( q|DROP TABLE bibliocoverimage;| ); + $dbh->do( + q|CREATE TABLE biblioimages ( + imagenumber int(11) NOT NULL AUTO_INCREMENT, + biblionumber int(11) NOT NULL, + mimetype varchar(15) NOT NULL, + imagefile mediumblob NOT NULL, + thumbnail mediumblob NOT NULL, + PRIMARY KEY (imagenumber), + CONSTRAINT bibliocoverimage_fk1 FOREIGN KEY (biblionumber) REFERENCES biblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE + ) ENGINE=InnoDB DEFAULT CHARSET=utf8;| + ); + } + print "Upgrade to $DBversion done (Correct table name for local cover images if needed. )\n"; SetVersion($DBversion); } @@ -4931,29 +4933,6 @@ if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { print "Upgrade to $DBversion done (Bug 6296 New System preference AllowPKIAuth)\n"; } -$DBversion = "3.07.00.XXX"; -if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { - $dbh->do( - q | CREATE TABLE ratings ( - borrowernumber int(11) NOT NULL, - biblionumber int(11) NOT NULL, - rating_value tinyint(1) NOT NULL, - timestamp timestamp NOT NULL default CURRENT_TIMESTAMP, - PRIMARY KEY (borrowernumber,biblionumber), - CONSTRAINT ratings_ibfk_1 FOREIGN KEY (borrowernumber) REFERENCES borrowers (borrowernumber) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT ratings_ibfk_2 FOREIGN KEY (biblionumber) REFERENCES biblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 | - ); - - $dbh->do( -q /INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('OpacStarRatings','disable',NULL,'disable|all|details','Choice') / - ); - - print -"Upgrade to $DBversion done (Add 'ratings' table and 'OpacStarRatings' syspref)\n"; - SetVersion($DBversion); -} - $DBversion = "3.07.00.029"; if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { my $installer = C4::Installer->new(); @@ -5112,7 +5091,7 @@ if ( C4::Context->preference("Version") < TransformToNum($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"; + print "Upgrade to $DBversion done (Add system preference SubscriptionDuplicateDroppedInput)\n"; SetVersion($DBversion); } @@ -5156,7 +5135,7 @@ if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { $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"; + print "Upgrade to $DBversion done (XSLT systempreference takes a path to file rather than YesNo)\n"; SetVersion($DBversion); } @@ -5185,12 +5164,58 @@ $DBversion = "3.07.00.047"; if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { $dbh->do("CREATE INDEX items_location ON items(location)"); $dbh->do("CREATE INDEX items_ccode ON items(ccode)"); - print "Upgrade to $DBversion done (items_location and items_ccode indexes added for ShelfBrowser)"; + print "Upgrade to $DBversion done (items_location and items_ccode indexes added for ShelfBrowser)\n"; + SetVersion($DBversion); +} + +$DBversion = "3.07.00.048"; +if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { + $dbh->do( + q | CREATE TABLE ratings ( + borrowernumber int(11) NOT NULL, + biblionumber int(11) NOT NULL, + rating_value tinyint(1) NOT NULL, + timestamp timestamp NOT NULL default CURRENT_TIMESTAMP, + PRIMARY KEY (borrowernumber,biblionumber), + CONSTRAINT ratings_ibfk_1 FOREIGN KEY (borrowernumber) REFERENCES borrowers (borrowernumber) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT ratings_ibfk_2 FOREIGN KEY (biblionumber) REFERENCES biblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 | + ); + + $dbh->do( +q /INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('OpacStarRatings','disable',NULL,'disable|all|details','Choice') / + ); + + print +"Upgrade to $DBversion done (Add 'ratings' table and 'OpacStarRatings' syspref)\n"; + SetVersion($DBversion); +} + +$DBversion = "3.07.00.049"; +if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { + $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpacBrowseResults','1','Disable/enable browsing and paging search results from the OPAC detail page.',NULL,'YesNo')"); + print "Upgrade to $DBversion done (Add system preference OpacBrowseResults ))\n"; SetVersion($DBversion); } + =head1 FUNCTIONS +=head2 TableExists($table) + +=cut + +sub TableExists { + my $table = shift; + eval { + local $dbh->{PrintError} = 0; + local $dbh->{RaiseError} = 1; + $dbh->do(qq{SELECT * FROM $table WHERE 1 = 0 }); + }; + return 1 unless $@; + return 0; +} + =head2 DropAllForeignKeys($table) Drop all foreign keys of the table $table