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 1187-1193 CREATE TABLE `borrower_debarments` ( Link Here
1187
  `borrower_debarment_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique key for the restriction',
1187
  `borrower_debarment_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique key for the restriction',
1188
  `borrowernumber` int(11) NOT NULL COMMENT 'foreign key for borrowers.borrowernumber for patron who is restricted',
1188
  `borrowernumber` int(11) NOT NULL COMMENT 'foreign key for borrowers.borrowernumber for patron who is restricted',
1189
  `expiration` date DEFAULT NULL COMMENT 'expiration date of the restriction',
1189
  `expiration` date DEFAULT NULL COMMENT 'expiration date of the restriction',
1190
  `type` varchar(50) NOT NULL COMMENT 'type of restriction, FK to debarment_types.code',
1190
  `type` varchar(50) NOT NULL COMMENT 'type of restriction, FK to restriction_types.code',
1191
  `comment` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'comments about the restriction',
1191
  `comment` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'comments about the restriction',
1192
  `manager_id` int(11) DEFAULT NULL COMMENT 'foreign key for borrowers.borrowernumber for the librarian managing the restriction',
1192
  `manager_id` int(11) DEFAULT NULL COMMENT 'foreign key for borrowers.borrowernumber for the librarian managing the restriction',
1193
  `created` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'date the restriction was added',
1193
  `created` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'date the restriction was added',
Lines 1195-1201 CREATE TABLE `borrower_debarments` ( Link Here
1195
  PRIMARY KEY (`borrower_debarment_id`),
1195
  PRIMARY KEY (`borrower_debarment_id`),
1196
  KEY `borrowernumber` (`borrowernumber`),
1196
  KEY `borrowernumber` (`borrowernumber`),
1197
  CONSTRAINT `borrower_debarments_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
1197
  CONSTRAINT `borrower_debarments_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
1198
  CONSTRAINT `borrower_debarments_ibfk_2` FOREIGN KEY (`type`)  REFERENCES `debarment_types` (`code`) ON DELETE NO ACTION ON UPDATE CASCADE
1198
  CONSTRAINT `borrower_debarments_ibfk_2` FOREIGN KEY (`type`)  REFERENCES `restriction_types` (`code`) ON DELETE NO ACTION ON UPDATE CASCADE
1199
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1199
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1200
/*!40101 SET character_set_client = @saved_cs_client */;
1200
/*!40101 SET character_set_client = @saved_cs_client */;
1201
1201
Lines 2081-2092 CREATE TABLE `collections_tracking` ( Link Here
2081
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2081
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2082
/*!40101 SET character_set_client = @saved_cs_client */;
2082
/*!40101 SET character_set_client = @saved_cs_client */;
2083
2083
2084
DROP TABLE IF EXISTS `debarment_types`;
2084
DROP TABLE IF EXISTS `restriction_types`;
2085
CREATE TABLE debarment_types (
2085
CREATE TABLE `restriction_types` (
2086
    code varchar(50) NOT NULL PRIMARY KEY,
2086
    `code` varchar(50) NOT NULL,
2087
    display_text text NOT NULL,
2087
    `display_text` text NOT NULL,
2088
    is_system tinyint(1) NOT NULL DEFAULT 0,
2088
    `is_system` tinyint(1) NOT NULL DEFAULT 0,
2089
    is_default tinyint(1) NOT NULL DEFAULT 0
2089
    `is_default` tinyint(1) NOT NULL DEFAULT 0,
2090
    PRIMARY KEY (`code`)
2090
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2091
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2091
2092
2092
--
2093
--
2093
- 

Return to bug 23681