diff --git a/installer/data/mysql/db_revs/221105004.pl b/installer/data/mysql/db_revs/221105004.pl index 7b840e51da..5726f50970 100755 --- a/installer/data/mysql/db_revs/221105004.pl +++ b/installer/data/mysql/db_revs/221105004.pl @@ -30,7 +30,8 @@ return { unless ( foreign_key_exists( 'illrequests', 'illrequests_bibfk' ) ) { $dbh->do(q{ ALTER TABLE illrequests - ADD FOREIGN KEY illrequests_bibfk (`biblio_id`) REFERENCES `biblio` (`biblionumber`) ON DELETE SET NULL ON UPDATE CASCADE; + ADD KEY `illrequests_bibfk` (`biblio_id`), + ADD CONSTRAINT illrequests_bibfk FOREIGN KEY (`biblio_id`) REFERENCES `biblio` (`biblionumber`) ON DELETE SET NULL ON UPDATE CASCADE; }); say $out "Added foreign key constraint 'illrequests.illrequests_bibfk'"; diff --git a/installer/data/mysql/db_revs/221106005.pl b/installer/data/mysql/db_revs/221106005.pl index 2453185c68..21804ee49d 100755 --- a/installer/data/mysql/db_revs/221106005.pl +++ b/installer/data/mysql/db_revs/221106005.pl @@ -27,11 +27,33 @@ return { AND illrequests.biblio_id IS NOT NULL }); - unless ( foreign_key_exists( 'illrequests', 'illrequests_bibfk' ) ) { + if ( foreign_key_exists( 'illrequests', 'illrequests_ibfk_1' ) ) { + $dbh->do(q{ + ALTER TABLE illrequests + DROP FOREIGN KEY illrequests_ibfk_1 + }); + } + + if ( !foreign_key_exists( 'illrequests', 'illrequests_bibfk' ) + || !index_exists('illrequests', 'illrequests_bibfk') ) { + + if ( foreign_key_exists( 'illrequests', 'illrequests_bibfk' ) ) { + $dbh->do(q{ + ALTER TABLE illrequests + DROP FOREIGN KEY illrequests_bibfk + }); + } + if (index_exists('illrequests', 'illrequests_bibfk')) { + $dbh->do(q{ + ALTER TABLE illrequests + DROP INDEX illrequests_bibfk + }); + } + $dbh->do(q{ ALTER TABLE illrequests ADD KEY `illrequests_bibfk` (`biblio_id`), - ADD FOREIGN KEY illrequests_bibfk (`biblio_id`) REFERENCES `biblio` (`biblionumber`) ON DELETE SET NULL ON UPDATE CASCADE; + ADD CONSTRAINT illrequests_bibfk FOREIGN KEY (`biblio_id`) REFERENCES `biblio` (`biblionumber`) ON DELETE SET NULL ON UPDATE CASCADE; }); say $out "Added foreign key constraint 'illrequests.illrequests_bibfk'";