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

(-)a/installer/data/mysql/atomicupdate/bug_23681.pl (-15 / +20 lines)
Lines 7-30 return { Link Here
7
        my ($args) = @_;
7
        my ($args) = @_;
8
        my ($dbh, $out) = @$args{qw(dbh out)};
8
        my ($dbh, $out) = @$args{qw(dbh out)};
9
9
10
        $dbh->do(q{
10
        unless ( TableExists('restriction_types') ) {
11
            CREATE TABLE IF NOT EXISTS debarment_types (
11
            $dbh->do(q{
12
                code varchar(50) NOT NULL PRIMARY KEY,
12
                CREATE TABLE `restriction_types` (
13
                display_text text NOT NULL,
13
                    `code` varchar(50) NOT NULL,
14
                is_system tinyint(1) NOT NULL DEFAULT 0,
14
                    `display_text` text NOT NULL,
15
                is_default tinyint(1) NOT NULL DEFAULT 0
15
                    `is_system` tinyint(1) NOT NULL DEFAULT 0,
16
            ) ENGINE=InnoDB  DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
16
                    `is_default` tinyint(1) NOT NULL DEFAULT 0,
17
        });
17
                    PRIMARY KEY (`code`)
18
        say $out "Added debarment_types table";
18
                ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
19
            });
20
21
            say $out "Added restriction_types table";
22
        }
19
23
20
        $dbh->do(q{
24
        $dbh->do(q{
21
            INSERT IGNORE INTO debarment_types (code, display_text, is_system, is_default) VALUES
25
            INSERT IGNORE INTO restriction_types (code, display_text, is_system, is_default) VALUES
22
            ('MANUAL', 'Manual', 0, 1),
26
            ('MANUAL',     'Manual',     0, 1),
23
            ('OVERDUES', 'Overdues', 1, 0),
27
            ('OVERDUES',   'Overdues',   1, 0),
24
            ('SUSPENSION', 'Suspension', 1, 0),
28
            ('SUSPENSION', 'Suspension', 1, 0),
25
            ('DISCHARGE', 'Discharge', 1, 0);
29
            ('DISCHARGE',  'Discharge',  1, 0);
26
        });
30
        });
27
        say $out "Added system debarment_types";
31
        say $out "Added system restriction_types";
28
32
29
        unless ( foreign_key_exists('borrower_debarments', 'borrower_debarments_ibfk_2') ) {
33
        unless ( foreign_key_exists('borrower_debarments', 'borrower_debarments_ibfk_2') ) {
30
            $dbh->do(q{
34
            $dbh->do(q{
Lines 33-40 return { Link Here
33
            });
37
            });
34
            $dbh->do(q{
38
            $dbh->do(q{
35
                ALTER TABLE borrower_debarments
39
                ALTER TABLE borrower_debarments
36
                ADD CONSTRAINT borrower_debarments_ibfk_2 FOREIGN KEY (type) REFERENCES debarment_types(code) ON DELETE NO ACTION ON UPDATE CASCADE;
40
                ADD CONSTRAINT `borrower_debarments_ibfk_2` FOREIGN KEY (`type`)  REFERENCES `restriction_types` (`code`) ON DELETE NO ACTION ON UPDATE CASCADE;
37
            });
41
            });
42
38
            say $out "Added borrower_debarments relation";
43
            say $out "Added borrower_debarments relation";
39
        }
44
        }
40
45
(-)a/installer/data/mysql/en/mandatory/patron_restrictions.yml (-1 / +1 lines)
Lines 21-27 description: Link Here
21
  - "Default Koha system patron restriction types"
21
  - "Default Koha system patron restriction types"
22
22
23
tables:
23
tables:
24
  - debarment_types:
24
  - restriction_types:
25
      translatable: []
25
      translatable: []
26
      multiline: []
26
      multiline: []
27
      rows:
27
      rows:
(-)a/installer/data/mysql/kohastructure.sql (-9 / +9 lines)
Lines 1186-1192 CREATE TABLE `borrower_debarments` ( Link Here
1186
  `borrower_debarment_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique key for the restriction',
1186
  `borrower_debarment_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique key for the restriction',
1187
  `borrowernumber` int(11) NOT NULL COMMENT 'foreign key for borrowers.borrowernumber for patron who is restricted',
1187
  `borrowernumber` int(11) NOT NULL COMMENT 'foreign key for borrowers.borrowernumber for patron who is restricted',
1188
  `expiration` date DEFAULT NULL COMMENT 'expiration date of the restriction',
1188
  `expiration` date DEFAULT NULL COMMENT 'expiration date of the restriction',
1189
  `type` varchar(50) NOT NULL COMMENT 'type of restriction, FK to debarment_types.code',
1189
  `type` varchar(50) NOT NULL COMMENT 'type of restriction, FK to restriction_types.code',
1190
  `comment` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'comments about the restriction',
1190
  `comment` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'comments about the restriction',
1191
  `manager_id` int(11) DEFAULT NULL COMMENT 'foreign key for borrowers.borrowernumber for the librarian managing the restriction',
1191
  `manager_id` int(11) DEFAULT NULL COMMENT 'foreign key for borrowers.borrowernumber for the librarian managing the restriction',
1192
  `created` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'date the restriction was added',
1192
  `created` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'date the restriction was added',
Lines 1194-1200 CREATE TABLE `borrower_debarments` ( Link Here
1194
  PRIMARY KEY (`borrower_debarment_id`),
1194
  PRIMARY KEY (`borrower_debarment_id`),
1195
  KEY `borrowernumber` (`borrowernumber`),
1195
  KEY `borrowernumber` (`borrowernumber`),
1196
  CONSTRAINT `borrower_debarments_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
1196
  CONSTRAINT `borrower_debarments_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
1197
  CONSTRAINT `borrower_debarments_ibfk_2` FOREIGN KEY (`type`)  REFERENCES `debarment_types` (`code`) ON DELETE NO ACTION ON UPDATE CASCADE
1197
  CONSTRAINT `borrower_debarments_ibfk_2` FOREIGN KEY (`type`)  REFERENCES `restriction_types` (`code`) ON DELETE NO ACTION ON UPDATE CASCADE
1198
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1198
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1199
/*!40101 SET character_set_client = @saved_cs_client */;
1199
/*!40101 SET character_set_client = @saved_cs_client */;
1200
1200
Lines 2080-2091 CREATE TABLE `collections_tracking` ( Link Here
2080
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2080
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2081
/*!40101 SET character_set_client = @saved_cs_client */;
2081
/*!40101 SET character_set_client = @saved_cs_client */;
2082
2082
2083
DROP TABLE IF EXISTS `debarment_types`;
2083
DROP TABLE IF EXISTS `restriction_types`;
2084
CREATE TABLE debarment_types (
2084
CREATE TABLE `restriction_types` (
2085
    code varchar(50) NOT NULL PRIMARY KEY,
2085
    `code` varchar(50) NOT NULL,
2086
    display_text text NOT NULL,
2086
    `display_text` text NOT NULL,
2087
    is_system tinyint(1) NOT NULL DEFAULT 0,
2087
    `is_system` tinyint(1) NOT NULL DEFAULT 0,
2088
    is_default tinyint(1) NOT NULL DEFAULT 0
2088
    `is_default` tinyint(1) NOT NULL DEFAULT 0,
2089
    PRIMARY KEY (`code`)
2089
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2090
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2090
2091
2091
--
2092
--
2092
- 

Return to bug 23681