Koha/installer/data/mysql/db_revs/220600006.pl
Tomas Cohen Arazi 7a413f8015
Bug 32191: Tidy upgrade scripts output
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-14 15:08:10 -03:00

59 lines
2.7 KiB
Perl
Executable file

use Modern::Perl;
return {
bug_number => "21978",
description => "Add middle_name to borrowers table",
up => sub {
my ($args) = @_;
my ($dbh, $out) = @$args{qw(dbh out)};
if( !column_exists( 'borrowers', 'middle_name' ) ) {
$dbh->do(q{
ALTER TABLE borrowers
ADD COLUMN middle_name longtext NULL DEFAULT NULL
COMMENT "patron/borrower's middle name"
AFTER firstname
});
say $out "Added column 'borrowers.middle_name'";
}
if( !column_exists( 'deletedborrowers', 'middle_name' ) ) {
$dbh->do(q{
ALTER TABLE deletedborrowers
ADD COLUMN middle_name longtext NULL DEFAULT NULL
COMMENT "patron/borrower's middle name"
AFTER firstname
});
say $out "Added column 'deletedborrowers.middle_name'";
}
if( !column_exists( 'borrower_modifications', 'middle_name' ) ) {
$dbh->do(q{
ALTER TABLE borrower_modifications
ADD COLUMN middle_name longtext NULL DEFAULT NULL
COMMENT "patron/borrower's middle name"
AFTER firstname
});
say $out "Added column 'borrower_modifications.middle_name'";
}
my ($default_patron_search_fields) = $dbh->selectrow_array( q{
SELECT value FROM systempreferences WHERE variable='DefaultPatronSearchFields';
});
my @default_patron_search_fields = split(',', $default_patron_search_fields);
unless( grep /middle_name/, @default_patron_search_fields ){
if ( $default_patron_search_fields eq 'firstname,surname,othernames,cardnumber,userid' ) {
$dbh->do(q{
UPDATE systempreferences SET value=? WHERE variable='DefaultPatronSearchFields'
}, undef, 'firstname,middle_name,surname,othernames,cardnumber,userid');
say $out "Added middle name to DefaultPatronSearchFields";
} elsif( grep /firstname/, @default_patron_search_fields ){
push @default_patron_search_fields,'middle_name';
my $new_patron_search_fields = join(',',@default_patron_search_fields);
$dbh->do(q{
UPDATE systempreferences SET value=? WHERE variable='DefaultPatronSearchFields'
}, undef, $new_patron_search_fields);
say $out "Added middle name to DefaultPatronSearchFields";
} else {
say $out "Please add 'middlename' to DefaultPatronSearchFields if you want it searched by default";
}
}
},
}