--- /dev/null
+CREATE TABLE authorised_value_categories (
+ category_name VARCHAR(32) NOT NULL,
+ primary key (category_name)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;
+
+-- Add authorised value categories
+INSERT INTO authorised_value_categories (category_name )
+ SELECT DISTINCT category FROM authorised_values;
+
+-- Add special categories
+INSERT IGNORE INTO authorised_value_categories( category_name )
+ VALUES
+ ('Asort1'),
+ ('Asort2'),
+ ('Bsort1'),
+ ('Bsort2'),
+ ('SUGGEST'),
+ ('DAMAGED'),
+ ('LOST'),
+ ('REPORT_GROUP'),
+ ('REPORT_SUBGROUP'),
+ ('DEPARTMENT'),
+ ('TERM'),
+ ('SUGGEST_STATUS'),
+ ('ITEMTYPECAT');
+
+-- Add very special categories
+INSERT IGNORE INTO authorised_value_categories( category_name )
+ VALUES
+ ('branches'),
+ ('itemtypes'),
+ ('cn_source');
+
+-- Update the FK
+ALTER TABLE items_search_fields
+ DROP FOREIGN KEY items_search_fields_authorised_values_category;
+ALTER TABLE items_search_fields
+ ADD CONSTRAINT `items_search_fields_authorised_values_category` FOREIGN KEY (`authorised_values_category`) REFERENCES `authorised_value_categories` (`category_name`) ON DELETE SET NULL ON UPDATE CASCADE;
INSERT INTO authorised_values (category,authorised_value,lib,lib_opac) VALUES ('YES_NO','0','No','No');
INSERT INTO authorised_values (category,authorised_value,lib,lib_opac) VALUES ('YES_NO','1','Yes','Yes');
+INSERT IGNORE INTO authorised_value_categories( category_name )
+ VALUES
+ ('Asort1'),
+ ('Asort2'),
+ ('Bsort1'),
+ ('Bsort2'),
+ ('SUGGEST'),
+ ('DAMAGED'),
+ ('LOST'),
+ ('REPORT_GROUP'),
+ ('REPORT_SUBGROUP'),
+ ('DEPARTMENT'),
+ ('TERM'),
+ ('SUGGEST_STATUS'),
+ ('ITEMTYPECAT');
+INSERT IGNORE INTO authorised_value_categories( category_name )
+ VALUES
+ ('branches'),
+ ('itemtypes'),
+ ('cn_source');
CONSTRAINT `auth_tag_structure_ibfk_1` FOREIGN KEY (`authtypecode`) REFERENCES `auth_types` (`authtypecode`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+--
+-- Table structure for table `authorised_value_categories`
+--
+
+DROP TABLE IF EXISTS `authorised_value_categories`;
+CREATE TABLE `authorised_value_categories` (
+ `category_name` varchar(32) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
+ PRIMARY KEY (`category_name`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
--
-- Table structure for table `authorised_values`
--
authorised_values_category VARCHAR(32) NULL DEFAULT NULL,
PRIMARY KEY(name),
CONSTRAINT items_search_fields_authorised_values_category
- FOREIGN KEY (authorised_values_category) REFERENCES authorised_values (category)
+ FOREIGN KEY (authorised_values_category) REFERENCES authorised_value_categories (category_name)
ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;