Bugzilla – Attachment 136584 Details for
Bug 30650
Add a curbside pickup module
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 30650: DB changes
Bug-30650-DB-changes.patch (text/plain), 9.22 KB, created by
Jonathan Druart
on 2022-06-27 13:24:42 UTC
(
hide
)
Description:
Bug 30650: DB changes
Filename:
MIME Type:
Creator:
Jonathan Druart
Created:
2022-06-27 13:24:42 UTC
Size:
9.22 KB
patch
obsolete
>From 5fc7cf7a424b569e5166ad8730ec4589818ca2eb Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@bugs.koha-community.org> >Date: Fri, 29 Apr 2022 09:57:26 +0200 >Subject: [PATCH] Bug 30650: DB changes > >Sponsored-by: Association KohaLa - https://koha-fr.org/ >--- > .../data/mysql/atomicupdate/bug_30650.pl | 92 +++++++++++++++++++ > installer/data/mysql/kohastructure.sql | 82 +++++++++++++++++ > 2 files changed, 174 insertions(+) > create mode 100755 installer/data/mysql/atomicupdate/bug_30650.pl > >diff --git a/installer/data/mysql/atomicupdate/bug_30650.pl b/installer/data/mysql/atomicupdate/bug_30650.pl >new file mode 100755 >index 00000000000..9b5f9dbdf28 >--- /dev/null >+++ b/installer/data/mysql/atomicupdate/bug_30650.pl >@@ -0,0 +1,92 @@ >+use Modern::Perl; >+ >+return { >+ bug_number => "30650", >+ description => "Curbside pickup tables", >+ up => sub { >+ my ($args) = @_; >+ my ( $dbh, $out ) = @$args{qw(dbh out)}; >+ unless ( TableExists('curbside_pickup_policy') ) { >+ $dbh->do( >+ q{ >+ CREATE TABLE `curbside_pickup_policy` ( >+ `id` int(11) NOT NULL auto_increment, >+ `branchcode` varchar(10) NOT NULL, >+ `enabled` TINYINT(1) NOT NULL DEFAULT 0, >+ `pickup_interval` INT(2) NOT NULL DEFAULT 0, >+ `patrons_per_interval` INT(2) NOT NULL DEFAULT 0, >+ `patron_scheduled_pickup` TINYINT(1) NOT NULL DEFAULT 0, >+ `sunday_start_hour` INT(2) NULL DEFAULT NULL, >+ `sunday_start_minute` INT(2) NULL DEFAULT NULL, >+ `sunday_end_hour` INT(2) NULL DEFAULT NULL, >+ `sunday_end_minute` INT(2) NULL DEFAULT NULL, >+ `monday_start_hour` INT(2) NULL DEFAULT NULL, >+ `monday_start_minute` INT(2) NULL DEFAULT NULL, >+ `monday_end_hour` INT(2) NULL DEFAULT NULL, >+ `monday_end_minute` INT(2) NULL DEFAULT NULL, >+ `tuesday_start_hour` INT(2) NULL DEFAULT NULL, >+ `tuesday_start_minute` INT(2) NULL DEFAULT NULL, >+ `tuesday_end_hour` INT(2) NULL DEFAULT NULL, >+ `tuesday_end_minute` INT(2) NULL DEFAULT NULL, >+ `wednesday_start_hour` INT(2) NULL DEFAULT NULL, >+ `wednesday_start_minute` INT(2) NULL DEFAULT NULL, >+ `wednesday_end_hour` INT(2) NULL DEFAULT NULL, >+ `wednesday_end_minute` INT(2) NULL DEFAULT NULL, >+ `thursday_start_hour` INT(2) NULL DEFAULT NULL, >+ `thursday_start_minute` INT(2) NULL DEFAULT NULL, >+ `thursday_end_hour` INT(2) NULL DEFAULT NULL, >+ `thursday_end_minute` INT(2) NULL DEFAULT NULL, >+ `friday_start_hour` INT(2) NULL DEFAULT NULL, >+ `friday_start_minute` INT(2) NULL DEFAULT NULL, >+ `friday_end_hour` INT(2) NULL DEFAULT NULL, >+ `friday_end_minute` INT(2) NULL DEFAULT NULL, >+ `saturday_start_hour` INT(2) NULL DEFAULT NULL, >+ `saturday_start_minute` INT(2) NULL DEFAULT NULL, >+ `saturday_end_hour` INT(2) NULL DEFAULT NULL, >+ `saturday_end_minute` INT(2) NULL DEFAULT NULL, >+ PRIMARY KEY (`id`), >+ UNIQUE KEY (`branchcode`), >+ FOREIGN KEY (branchcode) REFERENCES branches(branchcode) ON DELETE CASCADE ON UPDATE CASCADE >+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; >+ } >+ ); >+ } >+ unless ( TableExists('curbside_pickups') ) { >+ >+ $dbh->do( >+ q{ >+ CREATE TABLE `curbside_pickups` ( >+ `id` int(11) NOT NULL auto_increment, >+ `borrowernumber` int(11) NOT NULL, >+ `branchcode` varchar(10) NOT NULL, >+ `scheduled_pickup_datetime` datetime NOT NULL, >+ `staged_datetime` datetime NULL DEFAULT NULL, >+ `staged_by` int(11) NULL DEFAULT NULL, >+ `arrival_datetime` datetime NULL DEFAULT NULL, >+ `delivered_datetime` datetime NULL DEFAULT NULL, >+ `delivered_by` int(11) NULL DEFAULT NULL, >+ `notes` text NULL DEFAULT NULL, >+ PRIMARY KEY (`id`), >+ FOREIGN KEY (branchcode) REFERENCES branches(branchcode) ON DELETE CASCADE ON UPDATE CASCADE, >+ FOREIGN KEY (borrowernumber) REFERENCES borrowers(borrowernumber) ON DELETE CASCADE ON UPDATE CASCADE, >+ FOREIGN KEY (staged_by) REFERENCES borrowers(borrowernumber) ON DELETE SET NULL ON UPDATE CASCADE >+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; >+ } >+ ); >+ } >+ unless ( TableExists('curbside_pickup_issues') ) { >+ $dbh->do( >+ q{ >+ CREATE TABLE `curbside_pickup_issues` ( >+ `id` int(11) NOT NULL auto_increment, >+ `curbside_pickup_id` int(11) NOT NULL, >+ `issue_id` int(11) NOT NULL, >+ `reserve_id` int(11) NOT NULL, >+ PRIMARY KEY (`id`), >+ FOREIGN KEY (curbside_pickup_id) REFERENCES curbside_pickups(id) ON DELETE CASCADE ON UPDATE CASCADE >+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; >+ } >+ ); >+ } >+ } >+ } >diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql >index 0d009afe59a..7c6eccc9774 100644 >--- a/installer/data/mysql/kohastructure.sql >+++ b/installer/data/mysql/kohastructure.sql >@@ -2272,6 +2272,88 @@ CREATE TABLE `creator_templates` ( > ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; > /*!40101 SET character_set_client = @saved_cs_client */; > >+-- >+-- Table structure for table `curbside_pickup_policy` >+-- >+ >+DROP TABLE IF EXISTS `curbside_pickup_policy`; >+CREATE TABLE `curbside_pickup_policy` ( >+ `id` int(11) NOT NULL auto_increment, >+ `branchcode` varchar(10) NOT NULL, >+ `enabled` TINYINT(1) NOT NULL DEFAULT 0, >+ `pickup_interval` INT(2) NOT NULL DEFAULT 0, >+ `patrons_per_interval` INT(2) NOT NULL DEFAULT 0, >+ `patron_scheduled_pickup` TINYINT(1) NOT NULL DEFAULT 0, >+ `sunday_start_hour` INT(2) NULL DEFAULT NULL, >+ `sunday_start_minute` INT(2) NULL DEFAULT NULL, >+ `sunday_end_hour` INT(2) NULL DEFAULT NULL, >+ `sunday_end_minute` INT(2) NULL DEFAULT NULL, >+ `monday_start_hour` INT(2) NULL DEFAULT NULL, >+ `monday_start_minute` INT(2) NULL DEFAULT NULL, >+ `monday_end_hour` INT(2) NULL DEFAULT NULL, >+ `monday_end_minute` INT(2) NULL DEFAULT NULL, >+ `tuesday_start_hour` INT(2) NULL DEFAULT NULL, >+ `tuesday_start_minute` INT(2) NULL DEFAULT NULL, >+ `tuesday_end_hour` INT(2) NULL DEFAULT NULL, >+ `tuesday_end_minute` INT(2) NULL DEFAULT NULL, >+ `wednesday_start_hour` INT(2) NULL DEFAULT NULL, >+ `wednesday_start_minute` INT(2) NULL DEFAULT NULL, >+ `wednesday_end_hour` INT(2) NULL DEFAULT NULL, >+ `wednesday_end_minute` INT(2) NULL DEFAULT NULL, >+ `thursday_start_hour` INT(2) NULL DEFAULT NULL, >+ `thursday_start_minute` INT(2) NULL DEFAULT NULL, >+ `thursday_end_hour` INT(2) NULL DEFAULT NULL, >+ `thursday_end_minute` INT(2) NULL DEFAULT NULL, >+ `friday_start_hour` INT(2) NULL DEFAULT NULL, >+ `friday_start_minute` INT(2) NULL DEFAULT NULL, >+ `friday_end_hour` INT(2) NULL DEFAULT NULL, >+ `friday_end_minute` INT(2) NULL DEFAULT NULL, >+ `saturday_start_hour` INT(2) NULL DEFAULT NULL, >+ `saturday_start_minute` INT(2) NULL DEFAULT NULL, >+ `saturday_end_hour` INT(2) NULL DEFAULT NULL, >+ `saturday_end_minute` INT(2) NULL DEFAULT NULL, >+ `patron_scheduled_pickup` TINYINT(1) NOT NULL DEFAULT 0, >+ PRIMARY KEY (`id`), >+ UNIQUE KEY (`branchcode`), >+ FOREIGN KEY (branchcode) REFERENCES branches(branchcode) ON DELETE CASCADE ON UPDATE CASCADE >+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; >+ >+-- >+-- Table structure for table `curbside_pickups` >+-- >+ >+DROP TABLE IF EXISTS `curbside_pickups`; >+CREATE TABLE `curbside_pickups` ( >+ `id` int(11) NOT NULL auto_increment, >+ `borrowernumber` int(11) NOT NULL, >+ `branchcode` varchar(10) NOT NULL, >+ `scheduled_pickup_datetime` datetime NOT NULL, >+ `staged_datetime` datetime NULL DEFAULT NULL, >+ `staged_by` int(11) NULL DEFAULT NULL, >+ `arrival_datetime` datetime NULL DEFAULT NULL, >+ `delivered_datetime` datetime NULL DEFAULT NULL, >+ `delivered_by` int(11) NULL DEFAULT NULL, >+ `notes` text NULL DEFAULT NULL, >+ PRIMARY KEY (`id`), >+ FOREIGN KEY (branchcode) REFERENCES branches(branchcode) ON DELETE CASCADE ON UPDATE CASCADE, >+ FOREIGN KEY (borrowernumber) REFERENCES borrowers(borrowernumber) ON DELETE CASCADE ON UPDATE CASCADE, >+ FOREIGN KEY (staged_by) REFERENCES borrowers(borrowernumber) ON DELETE SET NULL ON UPDATE CASCADE >+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; >+ >+-- >+-- Table structure for table `curbside_pickup_issues` >+-- >+ >+DROP TABLE IF EXISTS `curbside_pickup_issues`; >+CREATE TABLE `curbside_pickup_issues` ( >+ `id` int(11) NOT NULL auto_increment, >+ `curbside_pickup_id` int(11) NOT NULL, >+ `issue_id` int(11) NOT NULL, >+ `reserve_id` int(11) NOT NULL, >+ PRIMARY KEY (`id`), >+ FOREIGN KEY (curbside_pickup_id) REFERENCES curbside_pickups(id) ON DELETE CASCADE ON UPDATE CASCADE >+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; >+ > -- > -- Table structure for table `currency` > -- >-- >2.25.1
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 30650
:
136584
|
136585
|
136586
|
136587
|
136588
|
136589
|
136590
|
136591
|
136592
|
136593
|
136594
|
136595
|
136596
|
136597
|
136598
|
136599
|
136600
|
136601
|
136602
|
136603
|
136604
|
136605
|
136606
|
136607
|
136608
|
136609
|
136610
|
137095
|
137100
|
137199
|
137211
|
137212
|
137277
|
137278
|
137279
|
137280
|
137281
|
137282
|
137283
|
137284
|
137285
|
137286
|
137287
|
137288
|
137289
|
137290
|
137291
|
137292
|
137293
|
137294
|
137295
|
137296
|
137297
|
137298
|
137299
|
137300
|
137301
|
137302
|
137303
|
137304
|
137305
|
137306
|
137307
|
138261
|
138262
|
138263
|
138264
|
138265
|
138266
|
138267
|
138268
|
138269
|
138270
|
138271
|
138272
|
138273
|
138274
|
138275
|
138276
|
138277
|
138278
|
138279
|
138280
|
138281
|
138282
|
138283
|
138284
|
138285
|
138286
|
138287
|
138288
|
138289
|
138290
|
138291
|
138292
|
138319
|
138320
|
138321
|
138322
|
138323
|
138324
|
138325
|
138330
|
138331
|
138332
|
138333
|
138334
|
138335
|
138336
|
138337
|
138338
|
138339
|
138340
|
138341
|
138342
|
138343
|
138344
|
138345
|
138346
|
138347
|
138348
|
138349
|
138350
|
138351
|
138352
|
138353
|
138354
|
138355
|
138356
|
138357
|
138358
|
138359
|
138360
|
138361
|
138362
|
138363
|
138364
|
138365
|
138366
|
138367
|
138368
|
138369
|
138375
|
138401
|
138610