MT#58673 voip_preferences_enum add foreign key cascade support

* foreign key preference_id -> voip_preferences.id now has
  ON UPDATE CASCADE ON DELETE CASCADE, to correctly recursively
  remove records from voip_preferences_enum
* all records in provisioning.voip_preferences_enum with orphaned
  preference_id (does not exists in voip_preferences) are removed

Change-Id: I36950dbebefa72beb8a20d5373aeb692cb33211d
mr12.1
Kirill Solomko 2 years ago
parent 1f629c844a
commit 2f4e966fdf

@ -0,0 +1,5 @@
USE provisioning;
ALTER TABLE voip_preferences_enum DROP FOREIGN KEY `pref_id_fk`;
ALTER TABLE voip_preferences_enum ADD CONSTRAINT `voip_preferences_enum_ibfk_1` FOREIGN KEY (`preference_id`) REFERENCES `voip_preferences` (`id`);

@ -0,0 +1,9 @@
USE provisioning;
SET autocommit=0;
DELETE from voip_preferences_enum where preference_id NOT IN (select id from voip_preferences);
ALTER TABLE voip_preferences_enum DROP FOREIGN KEY `voip_preferences_enum_ibfk_1`;
ALTER TABLE voip_preferences_enum ADD CONSTRAINT `pref_id_fk` FOREIGN KEY (`preference_id`) REFERENCES `voip_preferences` (`id`) ON UPDATE CASCADE ON DELETE CASCADE;
COMMIT;
Loading…
Cancel
Save