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 2324-2329 CREATE TABLE `creator_templates` ( Link Here
2324
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2324
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2325
/*!40101 SET character_set_client = @saved_cs_client */;
2325
/*!40101 SET character_set_client = @saved_cs_client */;
2326
2326
2327
--
2328
-- Table structure for table `curbside_pickup_policy`
2329
--
2330
2331
DROP TABLE IF EXISTS `curbside_pickup_policy`;
2332
CREATE TABLE `curbside_pickup_policy` (
2333
  `id` int(11) NOT NULL auto_increment,
2334
  `branchcode` varchar(10) NOT NULL,
2335
  `enabled` TINYINT(1) NOT NULL DEFAULT 0,
2336
  `pickup_interval` INT(2) NOT NULL DEFAULT 0,
2337
  `patrons_per_interval` INT(2) NOT NULL DEFAULT 0,
2338
  `patron_scheduled_pickup` TINYINT(1) NOT NULL DEFAULT 0,
2339
  `sunday_start_hour` INT(2) NULL DEFAULT NULL,
2340
  `sunday_start_minute` INT(2) NULL DEFAULT NULL,
2341
  `sunday_end_hour` INT(2) NULL DEFAULT NULL,
2342
  `sunday_end_minute` INT(2) NULL DEFAULT NULL,
2343
  `monday_start_hour` INT(2) NULL DEFAULT NULL,
2344
  `monday_start_minute` INT(2) NULL DEFAULT NULL,
2345
  `monday_end_hour` INT(2) NULL DEFAULT NULL,
2346
  `monday_end_minute` INT(2) NULL DEFAULT NULL,
2347
  `tuesday_start_hour` INT(2) NULL DEFAULT NULL,
2348
  `tuesday_start_minute` INT(2) NULL DEFAULT NULL,
2349
  `tuesday_end_hour` INT(2) NULL DEFAULT NULL,
2350
  `tuesday_end_minute` INT(2) NULL DEFAULT NULL,
2351
  `wednesday_start_hour` INT(2) NULL DEFAULT NULL,
2352
  `wednesday_start_minute` INT(2) NULL DEFAULT NULL,
2353
  `wednesday_end_hour` INT(2) NULL DEFAULT NULL,
2354
  `wednesday_end_minute` INT(2) NULL DEFAULT NULL,
2355
  `thursday_start_hour` INT(2) NULL DEFAULT NULL,
2356
  `thursday_start_minute` INT(2) NULL DEFAULT NULL,
2357
  `thursday_end_hour` INT(2) NULL DEFAULT NULL,
2358
  `thursday_end_minute` INT(2) NULL DEFAULT NULL,
2359
  `friday_start_hour` INT(2) NULL DEFAULT NULL,
2360
  `friday_start_minute` INT(2) NULL DEFAULT NULL,
2361
  `friday_end_hour` INT(2) NULL DEFAULT NULL,
2362
  `friday_end_minute` INT(2) NULL DEFAULT NULL,
2363
  `saturday_start_hour` INT(2) NULL DEFAULT NULL,
2364
  `saturday_start_minute` INT(2) NULL DEFAULT NULL,
2365
  `saturday_end_hour` INT(2) NULL DEFAULT NULL,
2366
  `saturday_end_minute` INT(2) NULL DEFAULT NULL,
2367
  `patron_scheduled_pickup` TINYINT(1) NOT NULL DEFAULT 0,
2368
  PRIMARY KEY (`id`),
2369
  UNIQUE KEY (`branchcode`),
2370
  FOREIGN KEY (branchcode) REFERENCES branches(branchcode) ON DELETE CASCADE ON UPDATE CASCADE
2371
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2372
2373
--
2374
-- Table structure for table `curbside_pickups`
2375
--
2376
2377
DROP TABLE IF EXISTS `curbside_pickups`;
2378
CREATE TABLE `curbside_pickups` (
2379
  `id` int(11) NOT NULL auto_increment,
2380
  `borrowernumber` int(11) NOT NULL,
2381
  `branchcode` varchar(10) NOT NULL,
2382
  `scheduled_pickup_datetime` datetime NOT NULL,
2383
  `staged_datetime` datetime NULL DEFAULT NULL,
2384
  `staged_by` int(11) NULL DEFAULT NULL,
2385
  `arrival_datetime` datetime NULL DEFAULT NULL,
2386
  `delivered_datetime` datetime NULL DEFAULT NULL,
2387
  `delivered_by` int(11) NULL DEFAULT NULL,
2388
  `notes` text NULL DEFAULT NULL,
2389
  PRIMARY KEY (`id`),
2390
  FOREIGN KEY (branchcode) REFERENCES branches(branchcode) ON DELETE CASCADE ON UPDATE CASCADE,
2391
  FOREIGN KEY (borrowernumber) REFERENCES borrowers(borrowernumber) ON DELETE CASCADE ON UPDATE CASCADE,
2392
  FOREIGN KEY (staged_by) REFERENCES borrowers(borrowernumber) ON DELETE SET NULL ON UPDATE CASCADE
2393
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2394
2395
--
2396
-- Table structure for table `curbside_pickup_issues`
2397
--
2398
2399
DROP TABLE IF EXISTS `curbside_pickup_issues`;
2400
CREATE TABLE `curbside_pickup_issues` (
2401
  `id` int(11) NOT NULL auto_increment,
2402
  `curbside_pickup_id` int(11) NOT NULL,
2403
  `issue_id` int(11) NOT NULL,
2404
  `reserve_id` int(11) NOT NULL,
2405
  PRIMARY KEY (`id`),
2406
  FOREIGN KEY (curbside_pickup_id) REFERENCES curbside_pickups(id) ON DELETE CASCADE ON UPDATE CASCADE
2407
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2408
2327
--
2409
--
2328
-- Table structure for table `currency`
2410
-- Table structure for table `currency`
2329
--
2411
--
2330
- 

Return to bug 30650