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 2293-2298 CREATE TABLE `creator_templates` ( Link Here
2293
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2293
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2294
/*!40101 SET character_set_client = @saved_cs_client */;
2294
/*!40101 SET character_set_client = @saved_cs_client */;
2295
2295
2296
--
2297
-- Table structure for table `curbside_pickup_policy`
2298
--
2299
2300
DROP TABLE IF EXISTS `curbside_pickup_policy`;
2301
CREATE TABLE `curbside_pickup_policy` (
2302
  `id` int(11) NOT NULL auto_increment,
2303
  `branchcode` varchar(10) NOT NULL,
2304
  `enabled` TINYINT(1) NOT NULL DEFAULT 0,
2305
  `pickup_interval` INT(2) NOT NULL DEFAULT 0,
2306
  `patrons_per_interval` INT(2) NOT NULL DEFAULT 0,
2307
  `patron_scheduled_pickup` TINYINT(1) NOT NULL DEFAULT 0,
2308
  `sunday_start_hour` INT(2) NULL DEFAULT NULL,
2309
  `sunday_start_minute` INT(2) NULL DEFAULT NULL,
2310
  `sunday_end_hour` INT(2) NULL DEFAULT NULL,
2311
  `sunday_end_minute` INT(2) NULL DEFAULT NULL,
2312
  `monday_start_hour` INT(2) NULL DEFAULT NULL,
2313
  `monday_start_minute` INT(2) NULL DEFAULT NULL,
2314
  `monday_end_hour` INT(2) NULL DEFAULT NULL,
2315
  `monday_end_minute` INT(2) NULL DEFAULT NULL,
2316
  `tuesday_start_hour` INT(2) NULL DEFAULT NULL,
2317
  `tuesday_start_minute` INT(2) NULL DEFAULT NULL,
2318
  `tuesday_end_hour` INT(2) NULL DEFAULT NULL,
2319
  `tuesday_end_minute` INT(2) NULL DEFAULT NULL,
2320
  `wednesday_start_hour` INT(2) NULL DEFAULT NULL,
2321
  `wednesday_start_minute` INT(2) NULL DEFAULT NULL,
2322
  `wednesday_end_hour` INT(2) NULL DEFAULT NULL,
2323
  `wednesday_end_minute` INT(2) NULL DEFAULT NULL,
2324
  `thursday_start_hour` INT(2) NULL DEFAULT NULL,
2325
  `thursday_start_minute` INT(2) NULL DEFAULT NULL,
2326
  `thursday_end_hour` INT(2) NULL DEFAULT NULL,
2327
  `thursday_end_minute` INT(2) NULL DEFAULT NULL,
2328
  `friday_start_hour` INT(2) NULL DEFAULT NULL,
2329
  `friday_start_minute` INT(2) NULL DEFAULT NULL,
2330
  `friday_end_hour` INT(2) NULL DEFAULT NULL,
2331
  `friday_end_minute` INT(2) NULL DEFAULT NULL,
2332
  `saturday_start_hour` INT(2) NULL DEFAULT NULL,
2333
  `saturday_start_minute` INT(2) NULL DEFAULT NULL,
2334
  `saturday_end_hour` INT(2) NULL DEFAULT NULL,
2335
  `saturday_end_minute` INT(2) NULL DEFAULT NULL,
2336
  `patron_scheduled_pickup` TINYINT(1) NOT NULL DEFAULT 0,
2337
  PRIMARY KEY (`id`),
2338
  UNIQUE KEY (`branchcode`),
2339
  FOREIGN KEY (branchcode) REFERENCES branches(branchcode) ON DELETE CASCADE ON UPDATE CASCADE
2340
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2341
2342
--
2343
-- Table structure for table `curbside_pickups`
2344
--
2345
2346
DROP TABLE IF EXISTS `curbside_pickups`;
2347
CREATE TABLE `curbside_pickups` (
2348
  `id` int(11) NOT NULL auto_increment,
2349
  `borrowernumber` int(11) NOT NULL,
2350
  `branchcode` varchar(10) NOT NULL,
2351
  `scheduled_pickup_datetime` datetime NOT NULL,
2352
  `staged_datetime` datetime NULL DEFAULT NULL,
2353
  `staged_by` int(11) NULL DEFAULT NULL,
2354
  `arrival_datetime` datetime NULL DEFAULT NULL,
2355
  `delivered_datetime` datetime NULL DEFAULT NULL,
2356
  `delivered_by` int(11) NULL DEFAULT NULL,
2357
  `notes` text NULL DEFAULT NULL,
2358
  PRIMARY KEY (`id`),
2359
  FOREIGN KEY (branchcode) REFERENCES branches(branchcode) ON DELETE CASCADE ON UPDATE CASCADE,
2360
  FOREIGN KEY (borrowernumber) REFERENCES borrowers(borrowernumber) ON DELETE CASCADE ON UPDATE CASCADE,
2361
  FOREIGN KEY (staged_by) REFERENCES borrowers(borrowernumber) ON DELETE SET NULL ON UPDATE CASCADE
2362
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2363
2364
--
2365
-- Table structure for table `curbside_pickup_issues`
2366
--
2367
2368
DROP TABLE IF EXISTS `curbside_pickup_issues`;
2369
CREATE TABLE `curbside_pickup_issues` (
2370
  `id` int(11) NOT NULL auto_increment,
2371
  `curbside_pickup_id` int(11) NOT NULL,
2372
  `issue_id` int(11) NOT NULL,
2373
  `reserve_id` int(11) NOT NULL,
2374
  PRIMARY KEY (`id`),
2375
  FOREIGN KEY (curbside_pickup_id) REFERENCES curbside_pickups(id) ON DELETE CASCADE ON UPDATE CASCADE
2376
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2377
2296
--
2378
--
2297
-- Table structure for table `currency`
2379
-- Table structure for table `currency`
2298
--
2380
--
2299
- 

Return to bug 30650