Bug 10855: Update database entry
authorJonathan Druart <jonathan.druart@biblibre.com>
Wed, 4 Dec 2013 15:28:26 +0000 (16:28 +0100)
committerTomas Cohen Arazi <tomascohen@theke.io>
Fri, 2 Oct 2015 18:10:31 +0000 (15:10 -0300)
Add 2 tables: additional_fields and additional_field_values

Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
installer/data/mysql/atomicupdate/bug_10855.sql [new file with mode: 0644]
installer/data/mysql/kohastructure.sql

diff --git a/installer/data/mysql/atomicupdate/bug_10855.sql b/installer/data/mysql/atomicupdate/bug_10855.sql
new file mode 100644 (file)
index 0000000..07b72f1
--- /dev/null
@@ -0,0 +1,20 @@
+CREATE TABLE `additional_fields` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `tablename` varchar(255) NOT NULL DEFAULT '',
+  `name` varchar(255) NOT NULL DEFAULT '',
+  `authorised_value_category` varchar(16) NOT NULL DEFAULT '',
+  `marcfield` varchar(16) NOT NULL DEFAULT '',
+  `searchable` tinyint(1) NOT NULL DEFAULT '0',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `fields_uniq` (`tablename`,`name`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+CREATE TABLE `additional_field_values` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `field_id` int(11) NOT NULL,
+  `record_id` int(11) NOT NULL,
+  `value` varchar(255) NOT NULL DEFAULT '',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `field_record` (`field_id`,`record_id`),
+  CONSTRAINT `afv_fk` FOREIGN KEY (`field_id`) REFERENCES `additional_fields` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
index dab7538..d6732a3 100644 (file)
@@ -3540,6 +3540,37 @@ CREATE TABLE discharges (
   CONSTRAINT borrower_discharges_ibfk1 FOREIGN KEY (borrower) REFERENCES borrowers (borrowernumber) ON DELETE CASCADE ON UPDATE CASCADE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
 
+--
+-- Table structure for table additional_fields
+-- This table add the ability to add new fields for a record
+--
+
+CREATE TABLE `additional_fields` (
+  `id` int(11) NOT NULL AUTO_INCREMENT, -- primary key identifier
+  `tablename` varchar(255) NOT NULL DEFAULT '', -- tablename of the new field
+  `name` varchar(255) NOT NULL DEFAULT '', -- name of the field
+  `authorised_value_category` varchar(16) NOT NULL DEFAULT '', -- is an authorised value category
+  `marcfield` varchar(16) NOT NULL DEFAULT '', -- contains the marc field to copied into the record
+  `searchable` tinyint(1) NOT NULL DEFAULT '0', -- is the field searchable?
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `fields_uniq` (`tablename`,`name`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+--
+-- Table structure for table additional_field_values
+-- This table store values for additional fields
+--
+
+CREATE TABLE `additional_field_values` (
+  `id` int(11) NOT NULL AUTO_INCREMENT, -- primary key identifier
+  `field_id` int(11) NOT NULL, -- foreign key references additional_fields(id)
+  `record_id` int(11) NOT NULL, -- record_id
+  `value` varchar(255) NOT NULL DEFAULT '', -- value for this field
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `field_record` (`field_id`,`record_id`),
+  CONSTRAINT `afv_fk` FOREIGN KEY (`field_id`) REFERENCES `additional_fields` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
 /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
 /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
 /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;