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/13117.up

43 lines
2.0 KiB

USE provisioning;
set autocommit=0;
SELECT id FROM voip_preferences WHERE attribute='always_use_rtpproxy' INTO @old_aur_id;
SELECT id FROM voip_preferences WHERE attribute='never_use_rtpproxy' INTO @old_nur_id;
SELECT id FROM voip_preferences WHERE attribute='use_rtpproxy' INTO @new_pref_id;
-- delete conflicting rows where always=1 and never=1 (always takes precedence)
DELETE a.* FROM voip_usr_preferences a, voip_usr_preferences b
WHERE a.subscriber_id=b.subscriber_id
AND a.attribute_id=@old_nur_id AND b.attribute_id=@old_aur_id;
-- finally copy over the vars to the new preference
INSERT INTO voip_usr_preferences(subscriber_id, attribute_id, value)
SELECT p.subscriber_id, @new_pref_id, "never" from voip_usr_preferences p
WHERE p.attribute_id=@old_nur_id;
INSERT INTO voip_usr_preferences(subscriber_id, attribute_id, value)
SELECT p.subscriber_id, @new_pref_id, "ice_strip_candidates" from voip_usr_preferences p
WHERE p.attribute_id=@old_aur_id;
SELECT id FROM voip_preferences WHERE attribute='always_use_ipv4_for_rtpproxy' INTO @old_pref_v4_id;
SELECT id FROM voip_preferences WHERE attribute='always_use_ipv6_for_rtpproxy' INTO @old_pref_v6_id;
SELECT id FROM voip_preferences WHERE attribute='ipv46_for_rtpproxy' INTO @new_pref_id;
-- delete logically conflicting rows - ipv4 takes precedence
DELETE a.* FROM voip_usr_preferences a, voip_usr_preferences b
WHERE a.subscriber_id=b.subscriber_id
AND a.attribute_id=@old_pref_v6_id AND b.attribute_id=@old_pref_v4_id;
-- finally copy over the vars to the new preference
INSERT INTO voip_usr_preferences(subscriber_id, attribute_id, value)
SELECT p.subscriber_id, @new_pref_id, "force_ipv4" from voip_usr_preferences p
WHERE p.attribute_id=@old_pref_v4_id;
SELECT id FROM voip_preferences WHERE attribute='ipv46_for_rtpproxy' INTO @new_pref_id;
INSERT INTO voip_usr_preferences(subscriber_id, attribute_id, value)
SELECT p.subscriber_id, @new_pref_id, "force_ipv6" from voip_usr_preferences p
WHERE p.attribute_id=@old_pref_v6_id;
COMMIT;