View | Details | Raw Unified | Return to bug 18887
Collapse All | Expand All

(-)a/installer/data/mysql/atomicupdate/bug_18887.perl (+41 lines)
Line 0 Link Here
1
$DBversion = 'XXX';  # will be replaced by the RM
2
if( CheckVersion( $DBversion ) ) {
3
4
    $dbh->do(q{
5
        CREATE TABLE `circulation_rules` (
6
          `id` int(11) NOT NULL auto_increment,
7
          `branchcode` varchar(10) NULL default NULL,
8
          `categorycode` varchar(10) NULL default NULL,
9
          `itemtype` varchar(10) NULL default NULL,
10
          `rule_name` varchar(32) NOT NULL,
11
          `rule_value` varchar(32) NOT NULL,
12
          PRIMARY KEY (`id`),
13
          KEY `branchcode` (`branchcode`),
14
          KEY `categorycode` (`categorycode`),
15
          KEY `itemtype` (`itemtype`),
16
          KEY `rule_name` (`rule_name`),
17
          UNIQUE (`branchcode`,`categorycode`,`itemtype`,`rule_name`)
18
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
19
    });
20
21
    $dbh->do(q{
22
        INSERT INTO circulation_rules ( branchcode, categorycode, itemtype, rule_name, rule_value )
23
        SELECT branchcode, categorycode, NULL, 'max_holds', max_holds FROM branch_borrower_circ_rules
24
    });
25
26
    $dbh->do(q{
27
        INSERT INTO circulation_rules ( branchcode, categorycode, itemtype, rule_name, rule_value )
28
        SELECT NULL, categorycode, NULL, 'max_holds', max_holds FROM branch_borrower_circ_rules
29
    });
30
31
    $dbh->do(q{
32
        ALTER TABLE branch_borrower_circ_rules DROP COLUMN max_holds
33
    });
34
35
    $dbh->do(q{
36
        ALTER TABLE default_borrower_circ_rules DROP COLUMN max_holds
37
    });
38
39
    SetVersion( $DBversion );
40
    print "Upgrade to $DBversion done (Bug 18887 - Introduce new table 'circulation_rules', use for 'max_holds' rules)\n";
41
}
(-)a/installer/data/mysql/kohastructure.sql (-3 / +19 lines)
Lines 379-385 CREATE TABLE `branch_borrower_circ_rules` ( -- includes default circulation rule Link Here
379
  `categorycode` VARCHAR(10) NOT NULL, -- the patron category this rule applies to (categories.categorycode)
379
  `categorycode` VARCHAR(10) NOT NULL, -- the patron category this rule applies to (categories.categorycode)
380
  `maxissueqty` int(4) default NULL, -- the maximum number of checkouts this patron category can have at this branch
380
  `maxissueqty` int(4) default NULL, -- the maximum number of checkouts this patron category can have at this branch
381
  `maxonsiteissueqty` int(4) default NULL, -- the maximum number of on-site checkouts this patron category can have at this branch
381
  `maxonsiteissueqty` int(4) default NULL, -- the maximum number of on-site checkouts this patron category can have at this branch
382
  max_holds INT(4) NULL DEFAULT NULL, -- the maximum number of holds a patron may have at a time
383
  PRIMARY KEY (`categorycode`, `branchcode`),
382
  PRIMARY KEY (`categorycode`, `branchcode`),
384
  CONSTRAINT `branch_borrower_circ_rules_ibfk_1` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`)
383
  CONSTRAINT `branch_borrower_circ_rules_ibfk_1` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`)
385
    ON DELETE CASCADE ON UPDATE CASCADE,
384
    ON DELETE CASCADE ON UPDATE CASCADE,
Lines 396-402 CREATE TABLE `default_borrower_circ_rules` ( -- default checkout rules found und Link Here
396
  `categorycode` VARCHAR(10) NOT NULL, -- patron category this rul
395
  `categorycode` VARCHAR(10) NOT NULL, -- patron category this rul
397
  `maxissueqty` int(4) default NULL,
396
  `maxissueqty` int(4) default NULL,
398
  `maxonsiteissueqty` int(4) default NULL,
397
  `maxonsiteissueqty` int(4) default NULL,
399
  max_holds INT(4) NULL DEFAULT NULL, -- the maximum number of holds a patron may have at a time
400
  PRIMARY KEY (`categorycode`),
398
  PRIMARY KEY (`categorycode`),
401
  CONSTRAINT `borrower_borrower_circ_rules_ibfk_1` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`)
399
  CONSTRAINT `borrower_borrower_circ_rules_ibfk_1` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`)
402
    ON DELETE CASCADE ON UPDATE CASCADE
400
    ON DELETE CASCADE ON UPDATE CASCADE
Lines 4164-4169 CREATE TABLE illrequestattributes ( Link Here
4164
      ON UPDATE CASCADE ON DELETE CASCADE
4162
      ON UPDATE CASCADE ON DELETE CASCADE
4165
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
4163
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
4166
4164
4165
--
4166
-- Table structure for table `circulation_rules`
4167
--
4168
4169
DROP TABLE IF EXISTS `circulation_rules`;
4170
CREATE TABLE `circulation_rules` (
4171
  `id` int(11) NOT NULL auto_increment,
4172
  `branchcode` varchar(10) NULL default NULL,
4173
  `categorycode` varchar(10) NULL default NULL,
4174
  `itemtype` varchar(10) NULL default NULL,
4175
  `rule_name` varchar(32) NOT NULL,
4176
  `rule_value` varchar(32) NOT NULL,
4177
  PRIMARY KEY (`id`),
4178
  KEY `branchcode` (`branchcode`),
4179
  KEY `categorycode` (`categorycode`),
4180
  KEY `itemtype` (`itemtype`),
4181
  UNIQUE (`branchcode`,`categorycode`,`itemtype`)
4182
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
4183
4167
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
4184
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
4168
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
4185
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
4169
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
4186
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
4170
- 

Return to bug 18887