@@ -, +, @@ --- installer/data/mysql/kohastructure.sql | 3 ++- installer/data/mysql/updatedatabase.pl | 13 +++++++++++++ 2 files changed, 15 insertions(+), 1 deletions(-) --- a/installer/data/mysql/kohastructure.sql +++ a/installer/data/mysql/kohastructure.sql @@ -2824,7 +2824,8 @@ CREATE TABLE `aqorders_items` ( -- information on items entered in the acquisiti `itemnumber` int(11) NOT NULL, -- the item number for this item (items.itemnumber) `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, -- the date and time this order item was last touched PRIMARY KEY (`itemnumber`), - KEY `ordernumber` (`ordernumber`) + KEY `ordernumber` (`ordernumber`), + CONSTRAINT aqorders_items_ibfk_1 FOREIGN KEY (ordernumber) REFERENCES aqorders (ordernumber) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; --- a/installer/data/mysql/updatedatabase.pl +++ a/installer/data/mysql/updatedatabase.pl @@ -6062,6 +6062,19 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { SetVersion ($DBversion); } +$DBversion = "3.09.00.XXX"; +if (C4::Context->preference("Version") < TransformToNum($DBversion)) { + $dbh->do(q{ + DELETE from aqorders_items where ordernumber NOT IN (SELECT ordernumber FROM aqorders); + }); + $dbh->do(q{ + ALTER TABLE aqorders_items + ADD CONSTRAINT aqorders_items_ibfk_1 FOREIGN KEY (ordernumber) REFERENCES aqorders (ordernumber) + ON DELETE CASCADE ON UPDATE CASCADE; + }); + print "Upgrade to $DBversion done (Bug 9030: Add constraint on aqorders_items.ordernumber)\n"; + SetVersion ($DBversion); +} =head1 FUNCTIONS --