Bug 16007: Adding back column 'letternumber' to table 'overduerules_transport_types'
authorcharles <charles.farmer@inlibro.com>
Mon, 21 Mar 2016 19:01:36 +0000 (15:01 -0400)
committerBrendan A Gallagher <brendan@bywatersolutions.com>
Thu, 31 Mar 2016 14:23:13 +0000 (14:23 +0000)
Bug 13624 definitely broke the master by removing the column `overduerules_transport_type`.`letternumber` from kohastructure.sql.
This patch aims to fix the problem by adding the column back on systems which had their 'letternumber' removed.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
installer/data/mysql/atomicupdate/Bug_16007_adding_column_letternumber_back_into_table_overduerules_transport_types.perl [new file with mode: 0755]
installer/data/mysql/kohastructure.sql

diff --git a/installer/data/mysql/atomicupdate/Bug_16007_adding_column_letternumber_back_into_table_overduerules_transport_types.perl b/installer/data/mysql/atomicupdate/Bug_16007_adding_column_letternumber_back_into_table_overduerules_transport_types.perl
new file mode 100755 (executable)
index 0000000..71a1dc2
--- /dev/null
@@ -0,0 +1,36 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use C4::Context;
+use C4::Members;
+
+my $dbh = C4::Context->dbh;
+my $sth = $dbh->prepare("SELECT * FROM overduerules_transport_types WHERE 0 = 1");
+my $urv = $sth->execute();
+
+my @data;
+
+if ( $sth->{NUM_OF_FIELDS} > 0 )
+{
+    @data = @{$sth->{NAME}};
+
+    my @letternumber = grep { $_ eq 'letternumber' } @data;
+
+    if ( ! @letternumber )
+    {
+        my $urv = $dbh->do("ALTER TABLE overduerules_transport_types ADD COLUMN letternumber INT(1) NOT NULL DEFAULT 1 AFTER id");
+        print "Bug 16007: adding column 'letternumber' back into table 'overduerules_transport_types'\n";
+    }
+    else
+    {
+        print "Bug 16007: your table 'overduerules_transport_types' already has a column 'letternumber'; nothing to do\n";
+    }
+}
+else
+{
+    # table overduerules_transport_types should exist by now, but let's
+    # warn the user here just in case
+    print "Bug 16007: [ERROR] your table 'overduerules_transport_types' does not exists ?!\n";
+}
index 63fefe7..ccc13bd 100644 (file)
@@ -2625,6 +2625,7 @@ CREATE TABLE `message_transport_types` (
 DROP TABLE IF EXISTS `overduerules_transport_types`;
 CREATE TABLE overduerules_transport_types(
     `id` INT(11) NOT NULL AUTO_INCREMENT,
+    `letternumber` INT(1) NOT NULL DEFAULT 1,
     `message_transport_type` VARCHAR(20) NOT NULL DEFAULT 'email',
     `overduerules_id` INT(11) NOT NULL,
     PRIMARY KEY (id),