Bug 24658: (bug 22008 follow-up) Correct update DB entry 18.12.00.031

If the original constraint does not exist, the second one is not added.

Test plan:
1. checkout dbrev 18.12.00.030
2. Remove the constraint: ALTER TABLE accountlines DROP FOREIGN KEY accountlines_ibfk_2
3. checkout master
4.
% updatedatabase
=> The constraint accountlines_ibfk_items is not added
5. Repeat 1 to 4
=> The constraint is added correctly

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
Jonathan Druart 2020-11-17 15:15:02 +01:00
parent a37ba7903d
commit fb0a659684
1 changed files with 3 additions and 1 deletions

View File

@ -17809,8 +17809,10 @@ if( CheckVersion( $DBversion ) ) {
}
# Rename accountlines_ibfk_2 to accountlines_ibfk_items
if ( foreign_key_exists( 'accountlines', 'accountlines_ibfk_2' ) && !foreign_key_exists( 'accountlines', 'accountlines_ibfk_items' ) ) {
if ( foreign_key_exists( 'accountlines', 'accountlines_ibfk_2' ) ) {
$dbh->do("ALTER TABLE accountlines DROP FOREIGN KEY accountlines_ibfk_2");
}
unless ( foreign_key_exists( 'accountlines', 'accountlines_ibfk_items' ) ) {
$dbh->do("ALTER TABLE accountlines ADD CONSTRAINT `accountlines_ibfk_items` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE SET NULL ON UPDATE CASCADE");
}