You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
db-schema/db_scripts/diff/11062.down

40 lines
1.5 KiB

USE provisioning;
DROP TRIGGER enum_set_default;
DELIMITER |
-- update preferences for existing domains / peer hosts /subscribers
-- when enum preferences are created that use a default value
-- (does not care about reseller_id)
CREATE TRIGGER enum_set_default AFTER INSERT ON voip_preferences_enum
FOR EACH ROW BEGIN
IF (NEW.dom_pref=1 AND NEW.default_val = 1 AND NEW.value IS NOT NULL) THEN
INSERT into voip_dom_preferences (domain_id, attribute_id, value)
SELECT id, NEW.preference_id, NEW.value
FROM voip_domains;
ELSEIF (NEW.peer_pref=1 AND NEW.default_val = 1 AND NEW.value IS NOT NULL) THEN
INSERT into voip_peer_preferences (peer_host_id, attribute_id, value)
SELECT id, NEW.preference_id, NEW.value
FROM voip_peer_hosts;
ELSEIF (NEW.usr_pref=1 AND NEW.default_val = 1 AND NEW.value IS NOT NULL) THEN
INSERT into voip_usr_preferences (subscriber_id, attribute_id, value)
SELECT id, NEW.preference_id, NEW.value
FROM voip_subscribers;
END IF;
END |
DROP TRIGGER enum_update;
CREATE TRIGGER enum_update AFTER UPDATE ON voip_preferences_enum
FOR EACH ROW BEGIN
UPDATE voip_usr_preferences SET value=NEW.value
WHERE attribute_id=NEW.preference_id;
UPDATE voip_dom_preferences SET value=NEW.value
WHERE attribute_id=NEW.preference_id;
UPDATE voip_peer_preferences SET value=NEW.value
WHERE attribute_id=NEW.preference_id;
END |
DELIMITER ;