Koha/installer/data/mysql/atomicupdate/bug_24151.perl
Jonathan Druart 563f9faa4f Bug 24151: DB changes - pseudonymized_borrower_attributes
Add a new DB table pseudonymized_borrower_attributes

Sponsored-by: Association KohaLa - https://koha-fr.org/

Signed-off-by: Signed-off-by: Sonia Bouis <sonia.bouis@univ-lyon3.fr>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2020-07-20 15:17:42 +02:00

66 lines
3.8 KiB
Perl

$DBversion = 'XXX'; # will be replaced by the RM
if( CheckVersion( $DBversion ) ) {
unless( TableExists( 'pseudonymized_transactions' ) ) {
$dbh->do(q|
CREATE TABLE `pseudonymized_transactions` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`hashed_borrowernumber` VARCHAR(60) NOT NULL,
`has_cardnumber` TINYINT(1) NOT NULL DEFAULT 0,
`title` LONGTEXT,
`city` LONGTEXT,
`state` MEDIUMTEXT default NULL,
`zipcode` varchar(25) default NULL,
`country` MEDIUMTEXT,
`branchcode` varchar(10) NOT NULL default '',
`categorycode` varchar(10) NOT NULL default '',
`dateenrolled` date default NULL,
`sex` varchar(1) default NULL,
`sort1` varchar(80) default NULL,
`sort2` varchar(80) default NULL,
`datetime` datetime default NULL,
`transaction_branchcode` varchar(10) default NULL,
`transaction_type` varchar(16) default NULL,
`itemnumber` int(11) default NULL,
`itemtype` varchar(10) default NULL,
`holdingbranch` varchar(10) default null,
`location` varchar(80) default NULL,
`itemcallnumber` varchar(255) default NULL,
`ccode` varchar(80) default NULL,
PRIMARY KEY (`id`),
CONSTRAINT `pseudonymized_transactions_ibfk_1` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`),
CONSTRAINT `pseudonymized_transactions_borrowers_ibfk_2` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`),
CONSTRAINT `pseudonymized_transactions_borrowers_ibfk_3` FOREIGN KEY (`transaction_branchcode`) REFERENCES `branches` (`branchcode`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|);
}
$dbh->do(q|
INSERT IGNORE INTO systempreferences (variable,value,options,explanation,type)
VALUES ('Pseudonymization','0',NULL,'If enabled patrons and transactions will be copied in a separate table for statistics purpose','YesNo')
|);
$dbh->do(q|
INSERT IGNORE INTO systempreferences (variable,value,options,explanation,type)
VALUES ('PseudonymizationPatronFields','','title,city,state,zipcode,country,branchcode,categorycode,dateenrolled,sex,sort1,sort2','Patron fields to copy to the pseudonymized_transactions table','multiple')
|);
$dbh->do(q|
INSERT IGNORE INTO systempreferences (variable,value,options,explanation,type)
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";
}