From 189a2d503a34e1875ae27891bf8d341b8c1c3b43 Mon Sep 17 00:00:00 2001 From: Olli-Antti Kivilahti Date: Tue, 12 May 2015 10:19:05 +0300 Subject: [PATCH] Bug 14187 - branchtransfer needs a primary key (id) for DBIx and common sense. --- C4/Circulation.pm | 5 +++-- installer/data/mysql/kohastructure.sql | 2 ++ installer/data/mysql/updatedatabase.pl | 7 +++++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/C4/Circulation.pm b/C4/Circulation.pm index 41b6dea..4794586 100644 --- a/C4/Circulation.pm +++ b/C4/Circulation.pm @@ -3100,7 +3100,8 @@ sub GetTransfers { my $dbh = C4::Context->dbh; my $query = ' - SELECT datesent, + SELECT branchtransfer_id, + datesent, frombranch, tobranch FROM branchtransfers @@ -3126,7 +3127,7 @@ sub GetTransfersFromTo { return unless ( $frombranch && $tobranch ); my $dbh = C4::Context->dbh; my $query = " - SELECT itemnumber,datesent,frombranch + SELECT branchtransfer_id,itemnumber,datesent,frombranch FROM branchtransfers WHERE frombranch=? AND tobranch=? diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql index a74d81a..a1f5594 100644 --- a/installer/data/mysql/kohastructure.sql +++ b/installer/data/mysql/kohastructure.sql @@ -439,12 +439,14 @@ CREATE TABLE `branchrelations` ( -- this table links libraries/branches to group DROP TABLE IF EXISTS `branchtransfers`; CREATE TABLE `branchtransfers` ( -- information for items that are in transit between branches + `branchtransfer_id` int(12) NOT NULL auto_increment, -- primary key `itemnumber` int(11) NOT NULL default 0, -- the itemnumber that it is in transit (items.itemnumber) `datesent` datetime default NULL, -- the date the transfer was initialized `frombranch` varchar(10) NOT NULL default '', -- the branch the transfer is coming from `datearrived` datetime default NULL, -- the date the transfer arrived at its destination `tobranch` varchar(10) NOT NULL default '', -- the branch the transfer was going to `comments` mediumtext, -- any comments related to the transfer + PRIMARY KEY (`branchtransfer_id`), KEY `frombranch` (`frombranch`), KEY `tobranch` (`tobranch`), KEY `itemnumber` (`itemnumber`), diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index bc765f1..4b3918e 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -9845,6 +9845,13 @@ if ( CheckVersion($DBversion) ) { SetVersion($DBversion); } +$DBversion = "3.19.00.XXX"; +if ( CheckVersion($DBversion) ) { + $dbh->do("ALTER TABLE branchtransfers ADD COLUMN branchtransfer_id int(12) NOT NULL auto_increment FIRST, ADD CONSTRAINT PRIMARY KEY (branchtransfer_id);"); + print "Upgrade to $DBversion done (Bug 14187 - branchtransfer needs a primary key (id) for DBIx and common sense.)\n"; + SetVersion ($DBversion); +} + $DBversion = "3.19.00.014"; if ( CheckVersion($DBversion) ) { $dbh->do(q| -- 1.7.9.5