Koha/installer/data/mysql/db_revs/220600006.pl
Tomas Cohen Arazi 5e5481ea44
Bug 21978: DBRev 22.06.00.006
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-06-24 12:31:39 -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 middle name column to borrowers table";
}
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 middle name column to deletedborrowers table";
}
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 middle name column to borrower_modifications table";
}
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";
}
}
},
}