From 4dbca9d759983a24cd46c53bfa7f567c545858d3 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 --- .../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.20.1