Bugzilla – Attachment 165991 Details for
Bug 36120
Add pickup locations to bookings
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 36120: Ensure pickup_library_id is NOT NULL
Bug-36120-Ensure-pickuplibraryid-is-NOT-NULL.patch (text/plain), 4.31 KB, created by
Martin Renvoize (ashimema)
on 2024-05-01 15:03:39 UTC
(
hide
)
Description:
Bug 36120: Ensure pickup_library_id is NOT NULL
Filename:
MIME Type:
Creator:
Martin Renvoize (ashimema)
Created:
2024-05-01 15:03:39 UTC
Size:
4.31 KB
patch
obsolete
>From d670cb2dbfc2c3149aea07f589386ecb7b0eacbc Mon Sep 17 00:00:00 2001 >From: Martin Renvoize <martin.renvoize@ptfs-europe.com> >Date: Thu, 21 Mar 2024 10:16:28 +0000 >Subject: [PATCH] Bug 36120: Ensure pickup_library_id is NOT NULL > >This patch updates the database schema to ensure >bookings.pickup_library_id is NOT NULL > >Signed-off-by: Nick Clemens <nick@bywatersolutions.com> >--- > api/v1/swagger/definitions/booking.yaml | 8 +++--- > .../data/mysql/atomicupdate/bug_36120.pl | 25 ++++++++++++++----- > installer/data/mysql/kohastructure.sql | 2 +- > 3 files changed, 24 insertions(+), 11 deletions(-) > >diff --git a/api/v1/swagger/definitions/booking.yaml b/api/v1/swagger/definitions/booking.yaml >index aed1e31b3f9..5a7b8cc77b2 100644 >--- a/api/v1/swagger/definitions/booking.yaml >+++ b/api/v1/swagger/definitions/booking.yaml >@@ -18,12 +18,12 @@ properties: > description: Internal item identifier > type: > - integer >- - "null" >+ - 'null' > item: > description: Embedable item representation > type: > - object >- - "null" >+ - 'null' > patron_id: > description: Internal patron identifier > type: integer >@@ -31,7 +31,7 @@ properties: > description: Embedable patron representation > type: > - object >- - "null" >+ - 'null' > pickup_library_id: > description: Internal pickup_library identifier > type: string >@@ -39,7 +39,7 @@ properties: > description: Embedable pickup_library representation > type: > - object >- - "null" >+ - 'null' > start_date: > description: Start date and time of this booking > format: date-time >diff --git a/installer/data/mysql/atomicupdate/bug_36120.pl b/installer/data/mysql/atomicupdate/bug_36120.pl >index 02d8186363a..9ed97b8ec44 100755 >--- a/installer/data/mysql/atomicupdate/bug_36120.pl >+++ b/installer/data/mysql/atomicupdate/bug_36120.pl >@@ -8,17 +8,30 @@ return { > my ( $dbh, $out ) = @$args{qw(dbh out)}; > > unless ( column_exists( 'bookings', 'pickup_library_id' ) ) { >- $dbh->do(q{ >+ $dbh->do( >+ q{ > ALTER TABLE bookings > ADD COLUMN `pickup_library_id` varchar(10) DEFAULT NULL COMMENT 'Identifier for booking pickup library' AFTER `item_id`, > ADD CONSTRAINT `bookings_ibfk_4` FOREIGN KEY (`pickup_library_id`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE >- }); >+ } >+ ); > >- say $out "Added column 'bookings.pickup_library_id'"; >+ say $out "Added column 'bookings.pickup_library_id'"; > >- $dbh->do( >- q{UPDATE bookings JOIN items ON bookings.item_id = items.itemnumber SET bookings.pickup_library_id = items.homebranch } >- ); >+ $dbh->do( >+ q{UPDATE bookings JOIN items ON bookings.item_id = items.itemnumber SET bookings.pickup_library_id = items.homebranch } >+ ); >+ >+ say $out "Set existing bookings pickup location to item homebranch"; >+ >+ $dbh->do( >+ q{ >+ ALTER TABLE bookings >+ MODIFY pickup_library_id varchar(10) NOT NULL COMMENT 'Identifier for booking pickup library' >+ } >+ ); >+ >+ say $out "Set pickup_library_id to NOT NULL"; > } > }, > }; >diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql >index 65217218db2..097b5e8c291 100644 >--- a/installer/data/mysql/kohastructure.sql >+++ b/installer/data/mysql/kohastructure.sql >@@ -1224,7 +1224,7 @@ CREATE TABLE `bookings` ( > `patron_id` int(11) NOT NULL DEFAULT 0 COMMENT 'foreign key from the borrowers table defining which patron this booking is for', > `biblio_id` int(11) NOT NULL DEFAULT 0 COMMENT 'foreign key from the biblio table defining which bib record this booking is on', > `item_id` int(11) DEFAULT NULL COMMENT 'foreign key from the items table defining the specific item the patron has placed a booking for', >- `pickup_library_id` varchar(10) DEFAULT NULL COMMENT 'Identifier for booking pickup library', >+ `pickup_library_id` varchar(10) NOT NULL COMMENT 'Identifier for booking pickup library', > `start_date` datetime DEFAULT NULL COMMENT 'the start date of the booking', > `end_date` datetime DEFAULT NULL COMMENT 'the end date of the booking', > PRIMARY KEY (`booking_id`), >-- >2.44.0
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 36120
:
162911
|
162912
|
162914
|
162915
|
162916
|
162917
|
162918
|
162919
|
162920
|
162921
|
162922
|
162923
|
162924
|
162925
|
162926
|
162927
|
162928
|
162976
|
163218
|
163219
|
163220
|
163221
|
163222
|
163223
|
163224
|
163435
|
163436
|
163437
|
163438
|
163439
|
163440
|
163441
|
163442
|
163443
|
163444
|
163445
|
163446
|
163447
|
163448
|
163565
|
163566
|
163567
|
163568
|
163569
|
163570
|
163571
|
163603
|
163604
|
163605
|
163606
|
163607
|
163608
|
163609
|
163610
|
163611
|
163612
|
163613
|
163635
|
163636
|
165140
|
165175
|
165176
|
165177
|
165178
|
165179
|
165180
|
165181
|
165182
|
165183
|
165184
|
165185
|
165186
|
165187
|
165188
|
165214
|
165215
|
165216
|
165419
|
165420
|
165421
|
165422
|
165423
|
165424
|
165425
|
165426
|
165427
|
165428
|
165429
|
165430
|
165431
|
165432
|
165433
|
165434
|
165435
|
165984
|
165985
|
165986
|
165987
|
165988
|
165989
|
165990
| 165991 |
165992
|
165993
|
165994
|
165995
|
165996
|
165997
|
165998
|
165999
|
166000
|
166001
|
166002