Commit 438beda41bfb2de61d711a52f8431e85d35e5bca

Authored by conradverm
1 parent 43ce064e

KTS-1533

"Issues when trying to introduce db constraints during upgrades"
Fixed. Deleting broken references prior to applying constraints.
Reviewed by: Kevin Fourie

git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@6199 c91229c3-7414-0410-bfa2-8a42b809f60b
sql/mysql/upgrade/2.99.1/fieldsets.sql
@@ -83,6 +83,13 @@ CREATE TABLE `zseq_fieldsets` ( @@ -83,6 +83,13 @@ CREATE TABLE `zseq_fieldsets` (
83 83
84 ALTER TABLE `document_fields` TYPE=InnoDB; 84 ALTER TABLE `document_fields` TYPE=InnoDB;
85 ALTER TABLE `document_fields` ADD INDEX `parent_fieldset` (`parent_fieldset`); 85 ALTER TABLE `document_fields` ADD INDEX `parent_fieldset` (`parent_fieldset`);
  86 +
  87 +-- CLEAROUT ANY BROKEN RECORDS PRIOR TO ASSIGNING CONSTRAINT
  88 +DELETE FROM `document_fields` as df USING `document_fields` as df, fieldsets
  89 + WHERE not exists(select 1 from `fieldsets` as f where df.parent_fieldset = f.id);
  90 +
  91 +-- ADD CONSTRAINT
  92 +
86 ALTER TABLE `document_fields` ADD CONSTRAINT `document_fields_ibfk_1` FOREIGN KEY (`parent_fieldset`) REFERENCES `fieldsets` (`id`) ON DELETE CASCADE; 93 ALTER TABLE `document_fields` ADD CONSTRAINT `document_fields_ibfk_1` FOREIGN KEY (`parent_fieldset`) REFERENCES `fieldsets` (`id`) ON DELETE CASCADE;
87 ALTER TABLE `fieldsets` ADD COLUMN `is_complex` tinyint(1) NOT NULL default '0'; 94 ALTER TABLE `fieldsets` ADD COLUMN `is_complex` tinyint(1) NOT NULL default '0';
88 ALTER TABLE `fieldsets` ADD COLUMN `is_complete` tinyint(1) NOT NULL default '1'; 95 ALTER TABLE `fieldsets` ADD COLUMN `is_complete` tinyint(1) NOT NULL default '1';