[Koha-bugs] [Bug 17306] Update scripts fail with Mysql 5.7

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Fri Sep 16 15:42:30 CEST 2016


https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=17306

--- Comment #4 from Rodrigo Santellan <rsantellan at gmail.com> ---
Created attachment 55619
  -->
https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=55619&action=edit
Changes of updatadatabase

@@ -76,7 +76,6 @@ local $dbh->{RaiseError} = 0;
 # Record the version we are coming from

 my $original_version = C4::Context->preference("Version");
-
 # Deal with virtualshelves
 my $DBversion = "3.00.00.001";
 if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
@@ -557,9 +556,11 @@ if (C4::Context->preference("Version") <
TransformToNum($DBversion)) {

 $DBversion = "3.00.00.019";
 if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+    $dbh->do("SET FOREIGN_KEY_CHECKS=0");
     $dbh->do("ALTER TABLE biblio MODIFY biblionumber INT(11) NOT NULL
AUTO_INCREMENT");
     $dbh->do("ALTER TABLE biblioitems MODIFY biblioitemnumber INT(11) NOT NULL
AUTO_INCREMENT");
     $dbh->do("ALTER TABLE items MODIFY itemnumber INT(11) NOT NULL
AUTO_INCREMENT");
+    $dbh->do("SET FOREIGN_KEY_CHECKS=1");
     print "Upgrade to $DBversion done (made bib/item PKs auto_increment)\n";
     SetVersion ($DBversion);
 }
@@ -1036,8 +1037,7 @@ if (C4::Context->preference("Version") <
TransformToNum($DBversion)) {
             `creep_vert` float default NULL,
             `unit` char(20) NOT NULL default 'POINT',
             PRIMARY KEY  (`prof_id`),
-            UNIQUE KEY `printername` (`printername`,`tmpl_id`,`paper_bin`),
-            CONSTRAINT `printers_profile_pnfk_1` FOREIGN KEY (`tmpl_id`)
REFERENCES `labels_templates` (`tmpl_id`) ON DELETE CASCADE ON UPDATE CASCADE
+            UNIQUE KEY `printername` (`printername`,`tmpl_id`,`paper_bin`)
             ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ");
     $dbh->do("CREATE TABLE `labels_profile` (
             `tmpl_id` int(4) NOT NULL,
@@ -1149,7 +1149,7 @@ if (C4::Context->preference("Version") <
TransformToNum($DBversion)) {
 }

 $DBversion = "3.00.00.061";
-if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+if (C4::Context->preference("Version") < TransformToNum($DBversion) || 1 == 2)
{
     $dbh->do("ALTER TABLE labels_templates ADD COLUMN font char(10) NOT NULL
DEFAULT 'TR';");
        print "Upgrade to $DBversion done ( Added font column to
labels_templates )\n";
     SetVersion ($DBversion);
@@ -1205,7 +1205,7 @@ if (C4::Context->preference("Version") <
TransformToNum($DBversion)) {
                 ) ENGINE=InnoDB DEFAULT CHARSET=utf8");

     # move closed transactions to old_* tables
-    $dbh->do("INSERT INTO old_issues SELECT * FROM issues WHERE returndate IS
NOT NULL");
+    $dbh->do("INSERT INTO old_issues SELECT i.borrowernumber, i.itemnumber,
i.date_due, i.branchcode, i.issuingbranch, i.returndate, i.lastreneweddate,
i.return, i.renewals, i.timestamp, i.issuedate FROM issues i WHERE i.returndate
IS NO
     $dbh->do("DELETE FROM issues WHERE returndate IS NOT NULL");
     $dbh->do("INSERT INTO old_reserves SELECT * FROM reserves WHERE
cancellationdate IS NOT NULL OR found = 'F'");
     $dbh->do("DELETE FROM reserves WHERE cancellationdate IS NOT NULL OR found
= 'F'");
@@ -1255,9 +1255,8 @@ if (C4::Context->preference("Version") <
TransformToNum($DBversion)) {

 $DBversion = "3.00.00.066";
 if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
-    $dbh->do("ALTER TABLE `virtualshelfcontents` MODIFY `dateadded` timestamp
NOT NULL
-DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP;
-");
+    $dbh->do("UPDATE `virtualshelfcontents` SET `dateadded` =
CURRENT_TIMESTAMP WHERE `dateadded` IS NULL;");
+    $dbh->do("ALTER TABLE `virtualshelfcontents` MODIFY `dateadded` timestamp
NOT NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP;");
     print "Upgrade to $DBversion done (fix for bug 1873: virtualshelfcontents
dateadded column empty. ) \n";
     SetVersion ($DBversion);
 }
@@ -1273,7 +1272,7 @@ $DBversion = "3.00.00.068";
 if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
     $dbh->do("CREATE TABLE `permissions` (
                 `module_bit` int(11) NOT NULL DEFAULT 0,
-                `code` varchar(30) DEFAULT NULL,
+                `code` varchar(30) NOT NULL DEFAULT '',
                 `description` varchar(255) DEFAULT NULL,
                 PRIMARY KEY  (`module_bit`, `code`),
                 CONSTRAINT `permissions_ibfk_1` FOREIGN KEY (`module_bit`)
REFERENCES `userflags` (`bit`)
@@ -1282,7 +1281,7 @@ if (C4::Context->preference("Version") <
TransformToNum($DBversion)) {
     $dbh->do("CREATE TABLE `user_permissions` (
                 `borrowernumber` int(11) NOT NULL DEFAULT 0,
                 `module_bit` int(11) NOT NULL DEFAULT 0,
-                `code` varchar(30) DEFAULT NULL,
+                `code` varchar(30) NOT NULL DEFAULT '',
                 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`)
@@ -2134,8 +2133,8 @@ if (C4::Context->preference("Version") <
TransformToNum($DBversion)) {

 $DBversion = "3.01.00.009";
 if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
-    $dbh->do("ALTER TABLE permissions MODIFY `code` varchar(64) DEFAULT
NULL");
-    $dbh->do("ALTER TABLE user_permissions MODIFY `code` varchar(64) DEFAULT
NULL");
+    $dbh->do("ALTER TABLE permissions MODIFY `code` varchar(64) NOT NULL
DEFAULT ''");
+    $dbh->do("ALTER TABLE user_permissions MODIFY `code` varchar(64) NOT NULL
DEFAULT ''");
     $dbh->do("INSERT INTO permissions (module_bit, code, description) VALUES (
1, 'circulate_remaining_permissions', 'Remaining circulation permissions')");
     $dbh->do("INSERT INTO permissions (module_bit, code, description) VALUES (
1, 'override_renewals', 'Override blocked renewals')");
     print "Upgrade to $DBversion done (added subpermissions for circulate
permission)\n";
@@ -5929,13 +5928,14 @@ if (C4::Context->preference("Version") <
TransformToNum($DBversion)) {
     ");

     # Fill this new table with existing invoices
+
+
     my $sth = $dbh->prepare("
         SELECT aqorders.booksellerinvoicenumber AS invoicenumber,
aqbasket.booksellerid, aqorders.datereceived
         FROM aqorders
           LEFT JOIN aqbasket ON aqorders.basketno = aqbasket.basketno
         WHERE aqorders.booksellerinvoicenumber IS NOT NULL
           AND aqorders.booksellerinvoicenumber != ''
-        GROUP BY aqorders.booksellerinvoicenumber
     ");
     $sth->execute;
     my $results = $sth->fetchall_arrayref({});
@@ -12331,13 +12331,15 @@ my $indexes = LoadFile( $mappings_yaml );

 while ( my ( $index_name, $fields ) = each %$indexes ) {
         while ( my ( $field_name, $data ) = each %$fields ) {
-            my $field_type = $data->{type};
+            my $field_type = $data->{type} eq '' ? 'string' : $data->{type};
             my $field_label = $data->{label};
             my $mappings = $data->{mappings};
             my $search_field = Koha::SearchFields->find_or_create({ name =>
$field_name, label => $field_label, type => $field_type }, { key => 'name' });
             for my $mapping ( @$mappings ) {
                 my $marc_field = Koha::SearchMarcMaps->find_or_create({
index_name => $index_name, marc_type => $mapping->{marc_type}, marc_field =>
$mapping->{marc_field} });
-                $search_field->add_to_search_marc_maps($marc_field, { facet =>
$mapping->{facet}, suggestible => $mapping->{suggestible}, sort =>
$mapping->{sort} } );
+                my $facet_data = $mapping->{facet} eq '' ? 0 :
$mapping->{facet};
+                my $suggestible_data = $mapping->{suggestible} eq '' ? 0 :
$mapping->{suggestible};
+                $search_field->add_to_search_marc_maps($marc_field, { facet =>
$facet_data, suggestible => $suggestible_data, sort => $mapping->{sort} } );
             }
         }
 }

-- 
You are receiving this mail because:
You are watching all bug changes.


More information about the Koha-bugs mailing list