git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_SGD/tags/3.7.0.2_original@1 eb19766c-00d9-a042-a3a0-45cb8ec72764
99 lines
3.7 KiB
SQL
99 lines
3.7 KiB
SQL
SET FOREIGN_KEY_CHECKS=0;
|
|
|
|
DROP TABLE `document_fieldsets`;
|
|
DROP TABLE `zseq_document_fieldsets`;
|
|
|
|
ALTER TABLE `document_type_fieldsets_link` DROP COLUMN `is_mandatory`; # was tinyint(1) NOT NULL default '0'
|
|
ALTER TABLE `folders` ADD COLUMN `restrict_document_types` tinyint(1) NOT NULL default '0';
|
|
|
|
CREATE TABLE `field_behaviour_options` (
|
|
`behaviour_id` int(11) NOT NULL default '0',
|
|
`field_id` int(11) NOT NULL default '0',
|
|
`instance_id` int(11) NOT NULL default '0',
|
|
KEY `behaviour_id` (`behaviour_id`),
|
|
KEY `field_id` (`field_id`),
|
|
KEY `instance_id` (`instance_id`),
|
|
CONSTRAINT `field_behaviour_options_ibfk_1` FOREIGN KEY (`behaviour_id`) REFERENCES `field_behaviours` (`id`) ON DELETE CASCADE,
|
|
CONSTRAINT `field_behaviour_options_ibfk_2` FOREIGN KEY (`field_id`) REFERENCES `document_fields` (`id`) ON DELETE CASCADE,
|
|
CONSTRAINT `field_behaviour_options_ibfk_3` FOREIGN KEY (`instance_id`) REFERENCES `field_value_instances` (`id`) ON DELETE CASCADE
|
|
) TYPE=InnoDB;
|
|
|
|
CREATE TABLE `field_behaviours` (
|
|
`id` int(11) NOT NULL default '0',
|
|
`name` char(255) NOT NULL default '',
|
|
`human_name` char(100) NOT NULL default '',
|
|
`field_id` int(11) NOT NULL default '0',
|
|
PRIMARY KEY (`id`),
|
|
KEY `field_id` (`field_id`),
|
|
KEY `name` (`name`),
|
|
CONSTRAINT `field_behaviours_ibfk_1` FOREIGN KEY (`field_id`) REFERENCES `document_fields` (`id`)
|
|
) TYPE=InnoDB;
|
|
|
|
CREATE TABLE `field_orders` (
|
|
`parent_field_id` int(11) NOT NULL default '0',
|
|
`child_field_id` int(11) NOT NULL default '0',
|
|
`fieldset_id` int(11) NOT NULL default '0',
|
|
UNIQUE KEY `child_field` (`child_field_id`),
|
|
KEY `parent_field` (`parent_field_id`),
|
|
KEY `fieldset_id` (`fieldset_id`)
|
|
) TYPE=InnoDB;
|
|
|
|
CREATE TABLE `field_value_instances` (
|
|
`id` int(11) NOT NULL default '0',
|
|
`field_id` int(11) NOT NULL default '0',
|
|
`field_value_id` int(11) NOT NULL default '0',
|
|
`behaviour_id` int(11) default '0',
|
|
PRIMARY KEY (`id`),
|
|
KEY `field_id` (`field_id`),
|
|
KEY `field_value_id` (`field_value_id`),
|
|
KEY `behaviour_id` (`behaviour_id`)
|
|
) TYPE=InnoDB;
|
|
|
|
CREATE TABLE `fieldsets` (
|
|
`id` int(11) NOT NULL default '0',
|
|
`name` char(255) NOT NULL default '',
|
|
`namespace` char(255) NOT NULL default '',
|
|
`mandatory` tinyint(4) NOT NULL default '0',
|
|
`is_conditional` tinyint(1) NOT NULL default '0',
|
|
`master_field` int(11) default NULL,
|
|
`is_generic` tinyint(1) NOT NULL default '0',
|
|
UNIQUE KEY `id` (`id`),
|
|
KEY `is_generic` (`is_generic`)
|
|
) TYPE=InnoDB;
|
|
|
|
CREATE TABLE `zseq_document_type_fieldsets_link` (
|
|
`id` int(10) unsigned NOT NULL auto_increment,
|
|
PRIMARY KEY (`id`)
|
|
) TYPE=MyISAM;
|
|
|
|
CREATE TABLE `zseq_field_behaviours` (
|
|
`id` int(10) unsigned NOT NULL auto_increment,
|
|
PRIMARY KEY (`id`)
|
|
) TYPE=MyISAM;
|
|
|
|
CREATE TABLE `zseq_field_value_instances` (
|
|
`id` int(10) unsigned NOT NULL auto_increment,
|
|
PRIMARY KEY (`id`)
|
|
) TYPE=MyISAM;
|
|
|
|
CREATE TABLE `zseq_fieldsets` (
|
|
`id` int(10) unsigned NOT NULL auto_increment,
|
|
PRIMARY KEY (`id`)
|
|
) TYPE=MyISAM;
|
|
|
|
ALTER TABLE `document_fields` TYPE=InnoDB;
|
|
ALTER TABLE `document_fields` ADD INDEX `parent_fieldset` (`parent_fieldset`);
|
|
|
|
-- CLEAROUT ANY BROKEN RECORDS PRIOR TO ASSIGNING CONSTRAINT
|
|
DELETE FROM `document_fields` as df USING `document_fields` as df, fieldsets
|
|
WHERE not exists(select 1 from `fieldsets` as f where df.parent_fieldset = f.id);
|
|
|
|
-- ADD CONSTRAINT
|
|
|
|
ALTER TABLE `document_fields` ADD CONSTRAINT `document_fields_ibfk_1` FOREIGN KEY (`parent_fieldset`) REFERENCES `fieldsets` (`id`) ON DELETE CASCADE;
|
|
ALTER TABLE `fieldsets` ADD COLUMN `is_complex` tinyint(1) NOT NULL default '0';
|
|
ALTER TABLE `fieldsets` ADD COLUMN `is_complete` tinyint(1) NOT NULL default '1';
|
|
ALTER TABLE `fieldsets` ADD INDEX `is_complete` (`is_complete`);
|
|
|
|
SET FOREIGN_KEY_CHECKS=1;
|