From 13a3b0be9c0ba1a2dfc33cdf8b4845fefdb372d1 Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Fri, 22 Jul 2022 10:05:55 +0100 Subject: [PATCH] Bug 31086: (QA follow-up) Improve atomicupdate to be more resilient We now populate the branchcode field with the first available branch on the system if we find it to be NULL before we set the NOT NULL Signed-off-by: Tomas Cohen Arazi (cherry picked from commit 5fa510b431c043671c7bcb73c431c60aac0039ed) Signed-off-by: Lucas Gass --- .../bug_31086_do_not_allow_null_branchcode_in_reserves.pl | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/installer/data/mysql/atomicupdate/bug_31086_do_not_allow_null_branchcode_in_reserves.pl b/installer/data/mysql/atomicupdate/bug_31086_do_not_allow_null_branchcode_in_reserves.pl index 1c817a2f26..ea2c1a6eb4 100755 --- a/installer/data/mysql/atomicupdate/bug_31086_do_not_allow_null_branchcode_in_reserves.pl +++ b/installer/data/mysql/atomicupdate/bug_31086_do_not_allow_null_branchcode_in_reserves.pl @@ -6,10 +6,18 @@ return { up => sub { my ($args) = @_; my ($dbh, $out) = @$args{qw(dbh out)}; + + # Ensure we have no NULL's in the branchcode field + $dbh->do(q{ + UPDATE reserves SET branchcode = ( SELECT branchcode FROM branches LIMIT 1) WHERE branchode IS NULL; + }); + + # Set the NOT NULL configuration $dbh->do(q{ ALTER TABLE reserves MODIFY COLUMN `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'foreign key from the branches table defining which branch the patron wishes to pick this hold up at' }); + # Print useful stuff here say $out "Removed NULL option from branchcode for reserves"; }, -- 2.39.5