Bug 18887: Update database
authorKyle M Hall <kyle@bywatersolutions.com>
Mon, 6 Mar 2017 17:35:40 +0000 (17:35 +0000)
committerNick Clemens <nick@bywatersolutions.com>
Wed, 3 Oct 2018 17:58:11 +0000 (17:58 +0000)
Signed-off-by: Lisette Scheer <lisetteslatah@gmail.com>
Signed-off-by: Jesse Maseto <jesse@bywatersolution.com>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
installer/data/mysql/atomicupdate/bug_18887.perl [new file with mode: 0644]
installer/data/mysql/kohastructure.sql

diff --git a/installer/data/mysql/atomicupdate/bug_18887.perl b/installer/data/mysql/atomicupdate/bug_18887.perl
new file mode 100644 (file)
index 0000000..38610c9
--- /dev/null
@@ -0,0 +1,41 @@
+$DBversion = 'XXX';  # will be replaced by the RM
+if( CheckVersion( $DBversion ) ) {
+
+    $dbh->do(q{
+        CREATE TABLE `circulation_rules` (
+          `id` int(11) NOT NULL auto_increment,
+          `branchcode` varchar(10) NULL default NULL,
+          `categorycode` varchar(10) NULL default NULL,
+          `itemtype` varchar(10) NULL default NULL,
+          `rule_name` varchar(32) NOT NULL,
+          `rule_value` varchar(32) NOT NULL,
+          PRIMARY KEY (`id`),
+          KEY `branchcode` (`branchcode`),
+          KEY `categorycode` (`categorycode`),
+          KEY `itemtype` (`itemtype`),
+          KEY `rule_name` (`rule_name`),
+          UNIQUE (`branchcode`,`categorycode`,`itemtype`,`rule_name`)
+        ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+    });
+
+    $dbh->do(q{
+        INSERT INTO circulation_rules ( branchcode, categorycode, itemtype, rule_name, rule_value )
+        SELECT branchcode, categorycode, NULL, 'max_holds', max_holds FROM branch_borrower_circ_rules
+    });
+
+    $dbh->do(q{
+        INSERT INTO circulation_rules ( branchcode, categorycode, itemtype, rule_name, rule_value )
+        SELECT NULL, categorycode, NULL, 'max_holds', max_holds FROM branch_borrower_circ_rules
+    });
+
+    $dbh->do(q{
+        ALTER TABLE branch_borrower_circ_rules DROP COLUMN max_holds
+    });
+
+    $dbh->do(q{
+        ALTER TABLE default_borrower_circ_rules DROP COLUMN max_holds
+    });
+
+    SetVersion( $DBversion );
+    print "Upgrade to $DBversion done (Bug 18887 - Introduce new table 'circulation_rules', use for 'max_holds' rules)\n";
+}
index 95c3617..c6b8022 100644 (file)
@@ -4208,6 +4208,25 @@ CREATE TABLE `oauth_access_tokens` (
     PRIMARY KEY (`access_token`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
 
+--
+-- Table structure for table `circulation_rules`
+--
+
+DROP TABLE IF EXISTS `circulation_rules`;
+CREATE TABLE `circulation_rules` (
+  `id` int(11) NOT NULL auto_increment,
+  `branchcode` varchar(10) NULL default NULL,
+  `categorycode` varchar(10) NULL default NULL,
+  `itemtype` varchar(10) NULL default NULL,
+  `rule_name` varchar(32) NOT NULL,
+  `rule_value` varchar(32) NOT NULL,
+  PRIMARY KEY (`id`),
+  KEY `branchcode` (`branchcode`),
+  KEY `categorycode` (`categorycode`),
+  KEY `itemtype` (`itemtype`),
+  UNIQUE (`branchcode`,`categorycode`,`itemtype`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
 /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
 /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
 /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;