Bug 24151: DB changes - pseudonymized_borrower_attributes
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Wed, 27 Nov 2019 13:49:17 +0000 (14:49 +0100)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Mon, 20 Jul 2020 13:17:42 +0000 (15:17 +0200)
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>

installer/data/mysql/atomicupdate/bug_24151.perl
installer/data/mysql/kohastructure.sql

index 6dd1288..9a97f80 100644 (file)
@@ -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";
index 537b41a..7f6b3f1 100644 (file)
@@ -1916,6 +1916,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
 --