From bc566a110b002975bbb6ef13382d1263798ad545 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Wed, 3 Nov 2021 16:53:47 +0000 Subject: [PATCH] Bug 29409: Check for data that violates a constraint to avoid update problems https://bugs.koha-community.org/show_bug.cgi?id=29049 --- installer/data/mysql/updatedatabase.pl | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index bf8fc0a946..ca1ff46afb 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -23195,6 +23195,11 @@ if( CheckVersion( $DBversion ) ) { ALTER TABLE letter ADD CONSTRAINT message_transport_type_fk FOREIGN KEY (message_transport_type) REFERENCES message_transport_types(message_transport_type) ON DELETE CASCADE ON UPDATE CASCADE } ); + # Foreign keys should prevent this, however, it has been found in many production databases + $dbh->do( q{ + DELETE borrower_message_transport_preferences FROM borrower_message_transport_preferences LEFT JOIN borrower_message_preferences USING (borrower_message_preference_id) WHERE borrower_message_preferences.borrower_message_preference_id IS NULL + } ); + $dbh->do(q{ UPDATE message_transport_types SET message_transport_type = "itiva" WHERE message_transport_type = "phone" }); -- 2.20.1