@@ -, +, @@ --- .../data/mysql/atomicupdate/bug_21978.pl | 47 +++++++++++++++++++ installer/data/mysql/kohastructure.sql | 3 ++ 2 files changed, 50 insertions(+) create mode 100644 installer/data/mysql/atomicupdate/bug_21978.pl --- a/installer/data/mysql/atomicupdate/bug_21978.pl +++ a/installer/data/mysql/atomicupdate/bug_21978.pl @@ -0,0 +1,47 @@ +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 = split(',',C4::Context->preference('DefaultPatronSearchFields')); + unless( grep /middle_name/, @default_patron_search_fields ){ + if( grep /firstname/, @default_patron_search_fields ){ + push @default_patron_search_fields,'middle_name'; + C4::Context->set_preference('DefaultPatronSearchFields', join(',',@default_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"; + } + } + }, +} --- a/installer/data/mysql/kohastructure.sql +++ a/installer/data/mysql/kohastructure.sql @@ -1264,6 +1264,7 @@ CREATE TABLE `borrower_modifications` ( `cardnumber` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `surname` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `firstname` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `middle_name` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'patron/borrower''s middle name', `title` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `othernames` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `initials` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, @@ -1382,6 +1383,7 @@ CREATE TABLE `borrowers` ( `cardnumber` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'unique key, library assigned ID number for patrons/borrowers', `surname` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'patron/borrower''s last name (surname)', `firstname` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'patron/borrower''s first name', + `middle_name` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'patron/borrower''s middle name', `title` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'patron/borrower''s title, for example: Mr. or Mrs.', `othernames` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'any other names associated with the patron/borrower', `initials` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'initials for your patron/borrower', @@ -2390,6 +2392,7 @@ CREATE TABLE `deletedborrowers` ( `cardnumber` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'unique key, library assigned ID number for patrons/borrowers', `surname` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'patron/borrower''s last name (surname)', `firstname` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'patron/borrower''s first name', + `middle_name` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'patron/borrower''s middle name', `title` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'patron/borrower''s title, for example: Mr. or Mrs.', `othernames` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'any other names associated with the patron/borrower', `initials` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'initials for your patron/borrower', --