Bug 29409: Check for data that violates a constraint to avoid update problems

Signed-off-by: Joonas Kylmälä <joonas.kylmala@iki.fi>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit e4455a5893)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
This commit is contained in:
Nick Clemens 2021-11-03 16:53:47 +00:00 committed by Lucas Gass
parent b2f44c6141
commit 6ea331417e
1 changed files with 5 additions and 0 deletions

View File

@ -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"
});