Bug 18887: Add foreign keys
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Sat, 29 Sep 2018 20:29:44 +0000 (17:29 -0300)
committerNick Clemens <nick@bywatersolutions.com>
Wed, 3 Oct 2018 17:58:16 +0000 (17:58 +0000)
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
installer/data/mysql/atomicupdate/bug_18887.perl
installer/data/mysql/kohastructure.sql

index 85da1d2..97eb1ef 100644 (file)
@@ -11,9 +11,10 @@ if( CheckVersion( $DBversion ) ) {
               `rule_name` varchar(32) NOT NULL,
               `rule_value` varchar(32) NOT NULL,
               PRIMARY KEY (`id`),
-              KEY `branchcode` (`branchcode`),
-              KEY `categorycode` (`categorycode`),
-              KEY `itemtype` (`itemtype`),
+
+              CONSTRAINT `circ_rules_ibfk_1` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE,
+              CONSTRAINT `circ_rules_ibfk_2` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`) ON DELETE CASCADE ON UPDATE CASCADE,
+              CONSTRAINT `circ_rules_ibfk_3` FOREIGN KEY (`itemtype`) REFERENCES `itemtypes` (`itemtype`) ON DELETE CASCADE ON UPDATE CASCADE,
               KEY `rule_name` (`rule_name`),
               UNIQUE (`branchcode`,`categorycode`,`itemtype`,`rule_name`)
             ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
index e889d14..c4d47d2 100644 (file)
@@ -4219,9 +4219,9 @@ CREATE TABLE `circulation_rules` (
   `rule_name` varchar(32) NOT NULL,
   `rule_value` varchar(32) NOT NULL,
   PRIMARY KEY (`id`),
-  KEY `branchcode` (`branchcode`),
-  KEY `categorycode` (`categorycode`),
-  KEY `itemtype` (`itemtype`),
+  CONSTRAINT `circ_rules_ibfk_1` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE,
+  CONSTRAINT `circ_rules_ibfk_2` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`) ON DELETE CASCADE ON UPDATE CASCADE,
+  CONSTRAINT `circ_rules_ibfk_3` FOREIGN KEY (`itemtype`) REFERENCES `itemtypes` (`itemtype`) ON DELETE CASCADE ON UPDATE CASCADE,
   KEY `rule_name` (`rule_name`),
   UNIQUE (`branchcode`,`categorycode`,`itemtype`,`rule_name`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;