Commit 43ce064e7d2813809a803dd7c678f88dba0da6db
1 parent
3c19b801
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@6198 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
1 changed file
with
30 additions
and
1 deletions
sql/mysql/upgrade/3.1.6.3/groups-integrity.sql
| 1 | +-- PREPARE FOR ADDING CONSTRAINTS ON `groups_groups_link` | ||
| 2 | + | ||
| 3 | +-- parent_group_id | ||
| 4 | + | ||
| 5 | +DELETE FROM `groups_groups_link` as gg USING `groups_groups_link` as gg, groups_lookup | ||
| 6 | + WHERE not exists(select 1 from `groups_lookup` as g where gg.parent_group_id = g.id); | ||
| 7 | + | ||
| 8 | +-- member_group_id | ||
| 9 | + | ||
| 10 | +DELETE FROM `groups_groups_link` as gg USING `groups_groups_link` as gg, groups_lookup | ||
| 11 | + WHERE not exists(select 1 from `groups_lookup` as g where gg.member_group_id = g.id); | ||
| 12 | + | ||
| 13 | +-- ADD CONSTRAINT | ||
| 14 | + | ||
| 1 | ALTER TABLE `groups_groups_link` | 15 | ALTER TABLE `groups_groups_link` |
| 2 | ADD CONSTRAINT `groups_groups_link_ibfk_1` FOREIGN KEY (`parent_group_id`) REFERENCES `groups_lookup` (`id`) ON DELETE CASCADE, | 16 | ADD CONSTRAINT `groups_groups_link_ibfk_1` FOREIGN KEY (`parent_group_id`) REFERENCES `groups_lookup` (`id`) ON DELETE CASCADE, |
| 3 | ADD CONSTRAINT `groups_groups_link_ibfk_2` FOREIGN KEY (`member_group_id`) REFERENCES `groups_lookup` (`id`) ON DELETE CASCADE; | 17 | ADD CONSTRAINT `groups_groups_link_ibfk_2` FOREIGN KEY (`member_group_id`) REFERENCES `groups_lookup` (`id`) ON DELETE CASCADE; |
| 4 | - | 18 | + |
| 19 | +-- PREPARE FOR ADDING CONSTRAINTS ON `users_groups_link` | ||
| 20 | + | ||
| 21 | +-- group_id | ||
| 22 | + | ||
| 23 | +DELETE FROM `users_groups_link` as ug USING `users_groups_link` as ug, groups_lookup | ||
| 24 | + WHERE not exists(select 1 from `groups_lookup` as g where ug.group_id = g.id); | ||
| 25 | + | ||
| 26 | +-- user_id | ||
| 27 | + | ||
| 28 | +DELETE FROM `users_groups_link` as ug USING `users_groups_link` as ug, users | ||
| 29 | + WHERE not exists(select 1 from `users` as u where ug.user_id = u.id); | ||
| 30 | + | ||
| 31 | +-- ADD CONSTRAINT | ||
| 32 | + | ||
| 5 | ALTER TABLE `users_groups_link` | 33 | ALTER TABLE `users_groups_link` |
| 6 | ADD CONSTRAINT `users_groups_link_ibfk_1` FOREIGN KEY (`group_id`) REFERENCES `groups_lookup` (`id`) ON DELETE CASCADE, | 34 | ADD CONSTRAINT `users_groups_link_ibfk_1` FOREIGN KEY (`group_id`) REFERENCES `groups_lookup` (`id`) ON DELETE CASCADE, |
| 7 | ADD CONSTRAINT `users_groups_link_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE; | 35 | ADD CONSTRAINT `users_groups_link_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE; |
| 36 | + |