From 9ad4a8e0511e898fc653476f13d23cafe9ffb7e9 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 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://bugs.koha-community.org/show_bug.cgi?id=29049 Signed-off-by: Joonas Kylmälä --- 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 8a02ead757..7d204787c9 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.30.2