BUGFIX fix on 2380 fix, dump to 102
authorPaul POULAIN <paul.poulain@biblibre.com>
Wed, 30 Jul 2008 15:03:05 +0000 (17:03 +0200)
committerJoshua Ferraro <jmf@liblime.com>
Fri, 1 Aug 2008 19:59:06 +0000 (14:59 -0500)
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
installer/data/mysql/updatedatabase.pl

index 989b0ed..43e0ef1 100755 (executable)
@@ -1884,8 +1884,10 @@ if ( C4::Context->preference('Version') < TransformToNum($DBversion) ) {
        $dbh->do('ALTER TABLE serialitems MODIFY `serialid` int(11) NOT NULL AFTER itemnumber' );
        $dbh->do('ALTER TABLE serialitems DROP KEY serialididx' );
        $dbh->do('ALTER TABLE serialitems ADD CONSTRAINT UNIQUE KEY serialitemsidx (itemnumber)' );
+       # before setting constraint, delete any unvalid data
+       $dbh->do('DELETE from serialitems WHERE serialid not in (SELECT serial.serialid FROM serial)');
        $dbh->do('ALTER TABLE serialitems ADD CONSTRAINT serialitems_sfk_1 FOREIGN KEY (serialid) REFERENCES serial (serialid) ON DELETE CASCADE ON UPDATE CASCADE' );
-    print "Upgrade to $DBversion done (Updating serialitems table to allow for mulitple items per serial fixing kohabug 2380)\n";
+    print "Upgrade to $DBversion done (Updating serialitems table to allow for multiple items per serial fixing kohabug 2380)\n";
     SetVersion($DBversion);
 }