+++ /dev/null
-$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,
- `homebranch` 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,homebranch,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;
- |);
- }
-
- unless( column_exists('borrower_attribute_types', 'keep_for_pseudonymization') ) {
- $dbh->do(q|
- ALTER TABLE borrower_attribute_types ADD COLUMN `keep_for_pseudonymization` TINYINT(1) NOT NULL DEFAULT 0 AFTER `class`
- |);
- }
-
- # 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";
-}
$dbh->do( "ALTER TABLE borrowers MODIFY COLUMN login_attempts int(4) NOT NULL DEFAULT 0" );
$dbh->do( "UPDATE deletedborrowers SET login_attempts=0 WHERE login_attempts IS NULL" );
$dbh->do( "ALTER TABLE deletedborrowers MODIFY COLUMN login_attempts int(4) NOT NULL DEFAULT 0" );
- NewVersion( $DBversion, 24379, "Set login_attempts NOT NULL)");
+ NewVersion( $DBversion, 24379, "Set login_attempts NOT NULL" );
+}
+
+$DBversion = '20.06.00.006';
+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,
+ `homebranch` 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,homebranch,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;
+ |);
+ }
+
+ unless( column_exists('borrower_attribute_types', 'keep_for_pseudonymization') ) {
+ $dbh->do(q|
+ ALTER TABLE borrower_attribute_types ADD COLUMN `keep_for_pseudonymization` TINYINT(1) NOT NULL DEFAULT 0 AFTER `class`
+ |);
+ }
+
+ NewVersion( $DBversion, 24151, "Add pseudonymized_transactions tables and sysprefs for Pseudonymization" );
}
# SEE bug 13068