From 438beda41bfb2de61d711a52f8431e85d35e5bca Mon Sep 17 00:00:00 2001 From: conradverm Date: Wed, 7 Feb 2007 13:51:27 +0000 Subject: [PATCH] KTS-1533 "Issues when trying to introduce db constraints during upgrades" Fixed. Deleting broken references prior to applying constraints. Reviewed by: Kevin Fourie --- sql/mysql/upgrade/2.99.1/fieldsets.sql | 7 +++++++ 1 file changed, 7 insertions(+), 0 deletions(-) diff --git a/sql/mysql/upgrade/2.99.1/fieldsets.sql b/sql/mysql/upgrade/2.99.1/fieldsets.sql index 86301e9..df2d119 100644 --- a/sql/mysql/upgrade/2.99.1/fieldsets.sql +++ b/sql/mysql/upgrade/2.99.1/fieldsets.sql @@ -83,6 +83,13 @@ CREATE TABLE `zseq_fieldsets` ( 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'; -- libgit2 0.21.4