From 7c8ca3ae1d5308e42127a7e4a88a469b3906e51c Mon Sep 17 00:00:00 2001 From: Andrew Pogrebennyk Date: Wed, 13 Mar 2013 16:04:53 +0000 Subject: [PATCH] add db-up script for migration and cleanup of legacy rtpproxy settings --- db_scripts/diff/13042.up | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 db_scripts/diff/13042.up diff --git a/db_scripts/diff/13042.up b/db_scripts/diff/13042.up new file mode 100644 index 00000000..8a40821e --- /dev/null +++ b/db_scripts/diff/13042.up @@ -0,0 +1,40 @@ +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; + +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; + +-- 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, "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 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; + +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;