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

(-)a/installer/data/mysql/atomicupdate/bug_30650.pl (+92 lines)
Line 0 Link Here
1
use Modern::Perl;
2
3
return {
4
    bug_number  => "30650",
5
    description => "Curbside pickup tables",
6
    up          => sub {
7
        my ($args) = @_;
8
        my ( $dbh, $out ) = @$args{qw(dbh out)};
9
        unless ( TableExists('curbside_pickup_policy') ) {
10
            $dbh->do(
11
                q{
12
            CREATE TABLE `curbside_pickup_policy` (
13
              `id` int(11) NOT NULL auto_increment,
14
              `branchcode` varchar(10) NOT NULL,
15
              `enabled` TINYINT(1) NOT NULL DEFAULT 0,
16
              `pickup_interval` INT(2) NOT NULL DEFAULT 0,
17
              `patrons_per_interval` INT(2) NOT NULL DEFAULT 0,
18
              `patron_scheduled_pickup` TINYINT(1) NOT NULL DEFAULT 0,
19
              `sunday_start_hour` INT(2) NULL DEFAULT NULL,
20
              `sunday_start_minute` INT(2) NULL DEFAULT NULL,
21
              `sunday_end_hour` INT(2) NULL DEFAULT NULL,
22
              `sunday_end_minute` INT(2) NULL DEFAULT NULL,
23
              `monday_start_hour` INT(2) NULL DEFAULT NULL,
24
              `monday_start_minute` INT(2) NULL DEFAULT NULL,
25
              `monday_end_hour` INT(2) NULL DEFAULT NULL,
26
              `monday_end_minute` INT(2) NULL DEFAULT NULL,
27
              `tuesday_start_hour` INT(2) NULL DEFAULT NULL,
28
              `tuesday_start_minute` INT(2) NULL DEFAULT NULL,
29
              `tuesday_end_hour` INT(2) NULL DEFAULT NULL,
30
              `tuesday_end_minute` INT(2) NULL DEFAULT NULL,
31
              `wednesday_start_hour` INT(2) NULL DEFAULT NULL,
32
              `wednesday_start_minute` INT(2) NULL DEFAULT NULL,
33
              `wednesday_end_hour` INT(2) NULL DEFAULT NULL,
34
              `wednesday_end_minute` INT(2) NULL DEFAULT NULL,
35
              `thursday_start_hour` INT(2) NULL DEFAULT NULL,
36
              `thursday_start_minute` INT(2) NULL DEFAULT NULL,
37
              `thursday_end_hour` INT(2) NULL DEFAULT NULL,
38
              `thursday_end_minute` INT(2) NULL DEFAULT NULL,
39
              `friday_start_hour` INT(2) NULL DEFAULT NULL,
40
              `friday_start_minute` INT(2) NULL DEFAULT NULL,
41
              `friday_end_hour` INT(2) NULL DEFAULT NULL,
42
              `friday_end_minute` INT(2) NULL DEFAULT NULL,
43
              `saturday_start_hour` INT(2) NULL DEFAULT NULL,
44
              `saturday_start_minute` INT(2) NULL DEFAULT NULL,
45
              `saturday_end_hour` INT(2) NULL DEFAULT NULL,
46
              `saturday_end_minute` INT(2) NULL DEFAULT NULL,
47
              PRIMARY KEY (`id`),
48
              UNIQUE KEY (`branchcode`),
49
              FOREIGN KEY (branchcode) REFERENCES branches(branchcode) ON DELETE CASCADE ON UPDATE CASCADE
50
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
51
        }
52
            );
53
        }
54
        unless ( TableExists('curbside_pickups') ) {
55
56
            $dbh->do(
57
                q{
58
            CREATE TABLE `curbside_pickups` (
59
              `id` int(11) NOT NULL auto_increment,
60
              `borrowernumber` int(11) NOT NULL,
61
              `branchcode` varchar(10) NOT NULL,
62
              `scheduled_pickup_datetime` datetime NOT NULL,
63
              `staged_datetime` datetime NULL DEFAULT NULL,
64
              `staged_by` int(11) NULL DEFAULT NULL,
65
              `arrival_datetime` datetime NULL DEFAULT NULL,
66
              `delivered_datetime` datetime NULL DEFAULT NULL,
67
              `delivered_by` int(11) NULL DEFAULT NULL,
68
              `notes` text NULL DEFAULT NULL,
69
              PRIMARY KEY (`id`),
70
              FOREIGN KEY (branchcode) REFERENCES branches(branchcode) ON DELETE CASCADE ON UPDATE CASCADE,
71
              FOREIGN KEY (borrowernumber) REFERENCES borrowers(borrowernumber) ON DELETE CASCADE ON UPDATE CASCADE,
72
              FOREIGN KEY (staged_by) REFERENCES borrowers(borrowernumber) ON DELETE SET NULL ON UPDATE CASCADE
73
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
74
            }
75
            );
76
        }
77
        unless ( TableExists('curbside_pickup_issues') ) {
78
            $dbh->do(
79
                q{
80
            CREATE TABLE `curbside_pickup_issues` (
81
              `id` int(11) NOT NULL auto_increment,
82
              `curbside_pickup_id` int(11) NOT NULL,
83
              `issue_id` int(11) NOT NULL,
84
              `reserve_id` int(11) NOT NULL,
85
              PRIMARY KEY (`id`),
86
              FOREIGN KEY (curbside_pickup_id) REFERENCES curbside_pickups(id) ON DELETE CASCADE ON UPDATE CASCADE
87
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
88
                }
89
            );
90
        }
91
    }
92
  }
(-)a/installer/data/mysql/kohastructure.sql (-1 / +82 lines)
Lines 2272-2277 CREATE TABLE `creator_templates` ( Link Here
2272
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2272
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2273
/*!40101 SET character_set_client = @saved_cs_client */;
2273
/*!40101 SET character_set_client = @saved_cs_client */;
2274
2274
2275
--
2276
-- Table structure for table `curbside_pickup_policy`
2277
--
2278
2279
DROP TABLE IF EXISTS `curbside_pickup_policy`;
2280
CREATE TABLE `curbside_pickup_policy` (
2281
  `id` int(11) NOT NULL auto_increment,
2282
  `branchcode` varchar(10) NOT NULL,
2283
  `enabled` TINYINT(1) NOT NULL DEFAULT 0,
2284
  `pickup_interval` INT(2) NOT NULL DEFAULT 0,
2285
  `patrons_per_interval` INT(2) NOT NULL DEFAULT 0,
2286
  `patron_scheduled_pickup` TINYINT(1) NOT NULL DEFAULT 0,
2287
  `sunday_start_hour` INT(2) NULL DEFAULT NULL,
2288
  `sunday_start_minute` INT(2) NULL DEFAULT NULL,
2289
  `sunday_end_hour` INT(2) NULL DEFAULT NULL,
2290
  `sunday_end_minute` INT(2) NULL DEFAULT NULL,
2291
  `monday_start_hour` INT(2) NULL DEFAULT NULL,
2292
  `monday_start_minute` INT(2) NULL DEFAULT NULL,
2293
  `monday_end_hour` INT(2) NULL DEFAULT NULL,
2294
  `monday_end_minute` INT(2) NULL DEFAULT NULL,
2295
  `tuesday_start_hour` INT(2) NULL DEFAULT NULL,
2296
  `tuesday_start_minute` INT(2) NULL DEFAULT NULL,
2297
  `tuesday_end_hour` INT(2) NULL DEFAULT NULL,
2298
  `tuesday_end_minute` INT(2) NULL DEFAULT NULL,
2299
  `wednesday_start_hour` INT(2) NULL DEFAULT NULL,
2300
  `wednesday_start_minute` INT(2) NULL DEFAULT NULL,
2301
  `wednesday_end_hour` INT(2) NULL DEFAULT NULL,
2302
  `wednesday_end_minute` INT(2) NULL DEFAULT NULL,
2303
  `thursday_start_hour` INT(2) NULL DEFAULT NULL,
2304
  `thursday_start_minute` INT(2) NULL DEFAULT NULL,
2305
  `thursday_end_hour` INT(2) NULL DEFAULT NULL,
2306
  `thursday_end_minute` INT(2) NULL DEFAULT NULL,
2307
  `friday_start_hour` INT(2) NULL DEFAULT NULL,
2308
  `friday_start_minute` INT(2) NULL DEFAULT NULL,
2309
  `friday_end_hour` INT(2) NULL DEFAULT NULL,
2310
  `friday_end_minute` INT(2) NULL DEFAULT NULL,
2311
  `saturday_start_hour` INT(2) NULL DEFAULT NULL,
2312
  `saturday_start_minute` INT(2) NULL DEFAULT NULL,
2313
  `saturday_end_hour` INT(2) NULL DEFAULT NULL,
2314
  `saturday_end_minute` INT(2) NULL DEFAULT NULL,
2315
  `patron_scheduled_pickup` TINYINT(1) NOT NULL DEFAULT 0,
2316
  PRIMARY KEY (`id`),
2317
  UNIQUE KEY (`branchcode`),
2318
  FOREIGN KEY (branchcode) REFERENCES branches(branchcode) ON DELETE CASCADE ON UPDATE CASCADE
2319
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2320
2321
--
2322
-- Table structure for table `curbside_pickups`
2323
--
2324
2325
DROP TABLE IF EXISTS `curbside_pickups`;
2326
CREATE TABLE `curbside_pickups` (
2327
  `id` int(11) NOT NULL auto_increment,
2328
  `borrowernumber` int(11) NOT NULL,
2329
  `branchcode` varchar(10) NOT NULL,
2330
  `scheduled_pickup_datetime` datetime NOT NULL,
2331
  `staged_datetime` datetime NULL DEFAULT NULL,
2332
  `staged_by` int(11) NULL DEFAULT NULL,
2333
  `arrival_datetime` datetime NULL DEFAULT NULL,
2334
  `delivered_datetime` datetime NULL DEFAULT NULL,
2335
  `delivered_by` int(11) NULL DEFAULT NULL,
2336
  `notes` text NULL DEFAULT NULL,
2337
  PRIMARY KEY (`id`),
2338
  FOREIGN KEY (branchcode) REFERENCES branches(branchcode) ON DELETE CASCADE ON UPDATE CASCADE,
2339
  FOREIGN KEY (borrowernumber) REFERENCES borrowers(borrowernumber) ON DELETE CASCADE ON UPDATE CASCADE,
2340
  FOREIGN KEY (staged_by) REFERENCES borrowers(borrowernumber) ON DELETE SET NULL ON UPDATE CASCADE
2341
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2342
2343
--
2344
-- Table structure for table `curbside_pickup_issues`
2345
--
2346
2347
DROP TABLE IF EXISTS `curbside_pickup_issues`;
2348
CREATE TABLE `curbside_pickup_issues` (
2349
  `id` int(11) NOT NULL auto_increment,
2350
  `curbside_pickup_id` int(11) NOT NULL,
2351
  `issue_id` int(11) NOT NULL,
2352
  `reserve_id` int(11) NOT NULL,
2353
  PRIMARY KEY (`id`),
2354
  FOREIGN KEY (curbside_pickup_id) REFERENCES curbside_pickups(id) ON DELETE CASCADE ON UPDATE CASCADE
2355
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2356
2275
--
2357
--
2276
-- Table structure for table `currency`
2358
-- Table structure for table `currency`
2277
--
2359
--
2278
- 

Return to bug 30650