From 5f015d050281a676670b592831f5b1bd11c81f47 Mon Sep 17 00:00:00 2001 From: Galen Charlton Date: Wed, 11 Dec 2013 16:49:01 +0000 Subject: [PATCH] Bug 11384: rename the collections_tracking.ctId column 'ctId' as a column name conflicts with one of the system columns that PostgreSQL uses for each table, and consequently needs to be renamed to enable deploying the schema to a Pg database. This patch makes this change. To test: [1] Apply the patch and run the SQL specified in the database updated. [2] Verify that the collections_tracking table no longer has a ctId column, but now has collections_tracking_id. [3] Verify that prove -v t/db_dependent/RotatingCollections.t passes. [4] Verify that installer/data/mysql/kohastructure.sql runs cleanly in an empty database. This patch does not affect user-visible behavior given the fact that the rotating collections feature is currently disabled. Signed-off-by: Galen Charlton Signed-off-by: Chris Cormack Signed-off-by: Jonathan Druart Signed-off-by: Galen Charlton --- C4/RotatingCollections.pm | 2 +- installer/data/mysql/kohastructure.sql | 4 ++-- installer/data/mysql/updatedatabase.pl | 9 +++++++++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/C4/RotatingCollections.pm b/C4/RotatingCollections.pm index 09b5216260..d6fad87b37 100644 --- a/C4/RotatingCollections.pm +++ b/C4/RotatingCollections.pm @@ -326,7 +326,7 @@ sub AddItemToCollection { my $dbh = C4::Context->dbh; my $sth; - $sth = $dbh->prepare("INSERT INTO collections_tracking ( ctId, colId, itemnumber ) + $sth = $dbh->prepare("INSERT INTO collections_tracking ( collections_tracking_id, colId, itemnumber ) VALUES ( NULL, ?, ? )"); $sth->execute( $colId, $itemnumber ) or return ( 0, 3, $sth->errstr() ); diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql index 3c5d9b031a..aba11b8b90 100644 --- a/installer/data/mysql/kohastructure.sql +++ b/installer/data/mysql/kohastructure.sql @@ -487,10 +487,10 @@ CREATE TABLE collections ( -- DROP TABLE IF EXISTS collections_tracking; CREATE TABLE collections_tracking ( - ctId integer(11) NOT NULL auto_increment, + collections_tracking_id integer(11) NOT NULL auto_increment, colId integer(11) NOT NULL DEFAULT 0 comment 'collections.colId', itemnumber integer(11) NOT NULL DEFAULT 0 comment 'items.itemnumber', - PRIMARY KEY (ctId) + PRIMARY KEY (collections_tracking_id) ) ENGINE=InnoDB DEFAULT CHARACTER SET utf8; -- diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index 78074f3dda..e032d49572 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -7853,6 +7853,15 @@ if ( CheckVersion($DBversion) ) { SetVersion ($DBversion); } +$DBversion = "3.15.00.XXX"; +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); +} + =head1 FUNCTIONS =head2 TableExists($table) -- 2.39.5