Koha/installer/data/mysql/db_revs/220600020.pl
Tomas Cohen Arazi a85d08c765
Bug 31086: DBRev 22.06.00.020
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-07-22 14:41:15 -03:00

43 lines
1.5 KiB
Perl
Executable file

use Modern::Perl;
return {
bug_number => "31086",
description => "Do not allow null values in branchcodes for reserves",
up => sub {
my ($args) = @_;
my ($dbh, $out) = @$args{qw(dbh out)};
my $sth = $dbh->prepare(q{
SELECT borrowernumber, biblionumber
FROM reserves
WHERE branchcode IS NULL;
});
$sth->execute;
my $holds_no_branch = $sth->fetchall_arrayref( {} );
if ( scalar @{$holds_no_branch} > 0 ) {
say $out "Holds with no branchcode were found and will be updated to the first branch in the system";
foreach my $hnb ( @{$holds_no_branch} ) {
say $out "Please review hold for borrowernumber "
. $hnb->{borrowernumber}
. " on biblionumber "
. $hnb->{biblionumber}
. " to correct pickup branch if necessary";
}
}
# Ensure we have no NULL's in the branchcode field
$dbh->do(q{
UPDATE reserves SET branchcode = ( SELECT branchcode FROM branches LIMIT 1) WHERE branchcode 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";
},
};