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 377-383 CREATE TABLE `branch_borrower_circ_rules` ( -- includes default circulation rule Link Here
377
  `categorycode` VARCHAR(10) NOT NULL, -- the patron category this rule applies to (categories.categorycode)
377
  `categorycode` VARCHAR(10) NOT NULL, -- the patron category this rule applies to (categories.categorycode)
378
  `maxissueqty` int(4) default NULL, -- the maximum number of checkouts this patron category can have at this branch
378
  `maxissueqty` int(4) default NULL, -- the maximum number of checkouts this patron category can have at this branch
379
  `maxonsiteissueqty` int(4) default NULL, -- the maximum number of on-site checkouts this patron category can have at this branch
379
  `maxonsiteissueqty` int(4) default NULL, -- the maximum number of on-site checkouts this patron category can have at this branch
380
  max_holds INT(4) NULL DEFAULT NULL, -- the maximum number of holds a patron may have at a time
381
  PRIMARY KEY (`categorycode`, `branchcode`),
380
  PRIMARY KEY (`categorycode`, `branchcode`),
382
  CONSTRAINT `branch_borrower_circ_rules_ibfk_1` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`)
381
  CONSTRAINT `branch_borrower_circ_rules_ibfk_1` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`)
383
    ON DELETE CASCADE ON UPDATE CASCADE,
382
    ON DELETE CASCADE ON UPDATE CASCADE,
Lines 394-400 CREATE TABLE `default_borrower_circ_rules` ( -- default checkout rules found und Link Here
394
  `categorycode` VARCHAR(10) NOT NULL, -- patron category this rul
393
  `categorycode` VARCHAR(10) NOT NULL, -- patron category this rul
395
  `maxissueqty` int(4) default NULL,
394
  `maxissueqty` int(4) default NULL,
396
  `maxonsiteissueqty` int(4) default NULL,
395
  `maxonsiteissueqty` int(4) default NULL,
397
  max_holds INT(4) NULL DEFAULT NULL, -- the maximum number of holds a patron may have at a time
398
  PRIMARY KEY (`categorycode`),
396
  PRIMARY KEY (`categorycode`),
399
  CONSTRAINT `borrower_borrower_circ_rules_ibfk_1` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`)
397
  CONSTRAINT `borrower_borrower_circ_rules_ibfk_1` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`)
400
    ON DELETE CASCADE ON UPDATE CASCADE
398
    ON DELETE CASCADE ON UPDATE CASCADE
Lines 4101-4106 CREATE TABLE IF NOT EXISTS club_fields ( Link Here
4101
  CONSTRAINT club_fields_ibfk_4 FOREIGN KEY (club_id) REFERENCES clubs (id) ON DELETE CASCADE ON UPDATE CASCADE
4099
  CONSTRAINT club_fields_ibfk_4 FOREIGN KEY (club_id) REFERENCES clubs (id) ON DELETE CASCADE ON UPDATE CASCADE
4102
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
4100
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
4103
4101
4102
--
4103
-- Table structure for table `circulation_rules`
4104
--
4105
4106
DROP TABLE IF EXISTS `circulation_rules`;
4107
CREATE TABLE `circulation_rules` (
4108
  `id` int(11) NOT NULL auto_increment,
4109
  `branchcode` varchar(10) NULL default NULL,
4110
  `categorycode` varchar(10) NULL default NULL,
4111
  `itemtype` varchar(10) NULL default NULL,
4112
  `rule_name` varchar(32) NOT NULL,
4113
  `rule_value` varchar(32) NOT NULL,
4114
  PRIMARY KEY (`id`),
4115
  KEY `branchcode` (`branchcode`),
4116
  KEY `categorycode` (`categorycode`),
4117
  KEY `itemtype` (`itemtype`),
4118
  UNIQUE (`branchcode`,`categorycode`,`itemtype`)
4119
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
4120
4104
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
4121
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
4105
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
4122
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
4106
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
4123
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
4107
- 

Return to bug 18887