From 048b0d42ac793be68c063b670de511a7c8e9578e Mon Sep 17 00:00:00 2001 From: charles Date: Mon, 21 Mar 2016 15:01:36 -0400 Subject: [PATCH] [PASSED QA] Bug 16007: Adding back column 'letternumber' to table 'overduerules_transport_types' 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 Signed-off-by: Katrin Fischer --- ...ck_into_table_overduerules_transport_types.perl | 36 ++++++++++++++++++++++ installer/data/mysql/kohastructure.sql | 1 + 2 files changed, 37 insertions(+) create mode 100755 installer/data/mysql/atomicupdate/Bug_16007_adding_column_letternumber_back_into_table_overduerules_transport_types.perl 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 index 0000000..71a1dc2 --- /dev/null +++ b/installer/data/mysql/atomicupdate/Bug_16007_adding_column_letternumber_back_into_table_overduerules_transport_types.perl @@ -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"; +} diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql index 63fefe7..ccc13bd 100644 --- a/installer/data/mysql/kohastructure.sql +++ b/installer/data/mysql/kohastructure.sql @@ -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), -- 1.9.1