Bug 17762: Remove FK on message_transports
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Thu, 8 Dec 2016 14:20:24 +0000 (15:20 +0100)
committerKyle M Hall <kyle@bywatersolutions.com>
Tue, 9 May 2017 20:56:40 +0000 (20:56 +0000)
I don't really understand where does come from this foreign key but at first glance it does not make sense.

Note that it seems we could also remove message_transports.branchcode

Sponsored-by: Orex Digital
Signed-off-by: Hugo Agud <hagud@orex.es>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
installer/data/mysql/atomicupdate/bug_xxxxx.perl
installer/data/mysql/kohastructure.sql

index 22583e9..43d3c26 100644 (file)
@@ -10,6 +10,9 @@ if( CheckVersion( $DBversion ) ) {
         $dbh->do( "ALTER TABLE deletedborrowers ADD COLUMN lang VARCHAR(25) NOT NULL DEFAULT 'default' AFTER lastseen" );
     }
 
+    # Add test on existene of this key
+    ALTER TABLE message_transports DROP FOREIGN KEY message_transports_ibfk_3;
+
     $dbh->do( "INSERT IGNORE INTO systempreferences (variable,value,options,explanation,type)
         VALUES ('TranslateNotices',  '0',  NULL,  'Allow notices to be translated',  'YesNo') ");
 
index 2cd90e5..6397e64 100644 (file)
@@ -2595,8 +2595,7 @@ CREATE TABLE `message_transports` (
   KEY `message_transport_type` (`message_transport_type`),
   KEY `letter_module` (`letter_module`,`letter_code`),
   CONSTRAINT `message_transports_ibfk_1` FOREIGN KEY (`message_attribute_id`) REFERENCES `message_attributes` (`message_attribute_id`) ON DELETE CASCADE ON UPDATE CASCADE,
-  CONSTRAINT `message_transports_ibfk_2` FOREIGN KEY (`message_transport_type`) REFERENCES `message_transport_types` (`message_transport_type`) ON DELETE CASCADE ON UPDATE CASCADE,
-  CONSTRAINT `message_transports_ibfk_3` FOREIGN KEY (`letter_module`, `letter_code`, `branchcode`) REFERENCES `letter` (`module`, `code`, `branchcode`) ON DELETE CASCADE ON UPDATE CASCADE
+  CONSTRAINT `message_transports_ibfk_2` FOREIGN KEY (`message_transport_type`) REFERENCES `message_transport_types` (`message_transport_type`) ON DELETE CASCADE ON UPDATE CASCADE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
 
 --