@@ -, +, @@ --- installer/data/mysql/atomicupdate/bug_24151.perl | 13 +++++++++++++ installer/data/mysql/kohastructure.sql | 14 ++++++++++++++ 2 files changed, 27 insertions(+) --- a/installer/data/mysql/atomicupdate/bug_24151.perl +++ a/installer/data/mysql/atomicupdate/bug_24151.perl @@ -47,6 +47,19 @@ if( CheckVersion( $DBversion ) ) { VALUES ('PseudonymizationTransactionFields','','datetime,transaction_branchcode,transaction_type,itemnumber,itemtype,holdingbranch,location,itemcallnumber,ccode','Transaction fields to copy to the pseudonymized_transactions table','multiple') |); + unless( TableExists( 'pseudonymized_borrower_attributes' ) ) { + $dbh->do(q| + CREATE TABLE pseudonymized_borrower_attributes ( + `id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, -- Row id field + `transaction_id` int(11) NOT NULL, + `code` varchar(10) NOT NULL, + `attribute` varchar(255) default NULL, + CONSTRAINT `pseudonymized_borrower_attributes_ibfk_1` FOREIGN KEY (`transaction_id`) REFERENCES `pseudonymized_transactions` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `anonymized_borrower_attributes_ibfk_2` FOREIGN KEY (`code`) REFERENCES `borrower_attribute_types` (`code`) ON DELETE CASCADE ON UPDATE CASCADE + ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + |); + } + # Always end with this (adjust the bug info) SetVersion( $DBversion ); print "Upgrade to $DBversion done (Bug 24151 - Add pseudonymized_transactions tables and sysprefs for Pseudonymization)\n"; --- a/installer/data/mysql/kohastructure.sql +++ a/installer/data/mysql/kohastructure.sql @@ -1971,6 +1971,20 @@ CREATE TABLE `pseudonymized_transactions` ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- +-- Table structure for table borrower_attributes +-- + +DROP TABLE IF EXISTS pseudonymized_borrower_attributes; +CREATE TABLE pseudonymized_borrower_attributes ( -- association table between pseudonymized_transactions and borrower_attributes + `id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, -- Row id field + `transaction_id` int(11) NOT NULL, + `code` varchar(10) NOT NULL, -- foreign key from the borrower_attribute_types table, defines which custom field this value was entered for + `attribute` varchar(255) default NULL, -- custom patron field value + CONSTRAINT `pseudonymized_borrower_attributes_ibfk_1` FOREIGN KEY (`transaction_id`) REFERENCES `pseudonymized_transactions` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `anonymized_borrower_attributes_ibfk_2` FOREIGN KEY (`code`) REFERENCES `borrower_attribute_types` (`code`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- -- Table structure for table subscription_frequencies -- --