From 1a423fec6f82d62a8c0ace5927f5e456ba32a6d0 Mon Sep 17 00:00:00 2001 From: Kirill Solomko Date: Tue, 15 Mar 2016 15:02:58 +0100 Subject: [PATCH] MT#18499 kamailio.contract_preferences contract_location_pref - added location_id to kamailio.contract_preferences - granted select on provisioniong.contract_locations* to kamailio - updated provisioning.voip_contract_preferences triggers - added contract_location_pref to voip_preferences - added contract_location_pref to voip_preferences_enum - concurrent_max/out/total are marked as contract_location_pref - emergency_prefix/suffix/cli are marked as contract_location_pref Change-Id: I057166e69acfb2dd4900233f2e6543e93e2e2d6e --- db_scripts/diff/15232.down | 41 ++++++++++++++++++++++++++++++++++++ db_scripts/diff/15232.up | 43 ++++++++++++++++++++++++++++++++++++++ db_scripts/diff/15233.down | 8 +++++++ db_scripts/diff/15233.up | 21 +++++++++++++++++++ 4 files changed, 113 insertions(+) create mode 100644 db_scripts/diff/15232.down create mode 100644 db_scripts/diff/15232.up create mode 100644 db_scripts/diff/15233.down create mode 100644 db_scripts/diff/15233.up diff --git a/db_scripts/diff/15232.down b/db_scripts/diff/15232.down new file mode 100644 index 00000000..e52c98b0 --- /dev/null +++ b/db_scripts/diff/15232.down @@ -0,0 +1,41 @@ +SET AUTOCOMMIT=0; + +USE kamailio; + +ALTER TABLE contract_preferences DROP COLUMN `location_id`; + +USE provisioning; + +REVOKE SELECT ON provisioning.voip_contract_locations FROM 'kamailio'@'localhost'; +REVOKE SELECT ON provisioning.voip_contract_location_blocks FROM 'kamailio'@'localhost'; + +DROP TRIGGER IF EXISTS voip_contractpref_crepl_trig; +DROP TRIGGER IF EXISTS voip_contractpref_urepl_trig; + +DELIMITER ;; + +/*!50003 CREATE*/ /*!50017 DEFINER=`sipwise`@`localhost`*/ /*!50003 TRIGGER voip_contractpref_crepl_trig AFTER INSERT ON voip_contract_preferences + FOR EACH ROW BEGIN + + INSERT INTO kamailio.contract_preferences + (id, uuid, attribute, type, value, last_modified) + SELECT NEW.id, NEW.contract_id, attribute, type, NEW.value, '0' + FROM provisioning.voip_preferences + WHERE id <=> NEW.attribute_id; + + END */;; + +/*!50003 CREATE*/ /*!50017 DEFINER=`sipwise`@`localhost`*/ /*!50003 TRIGGER voip_contractpref_urepl_trig AFTER UPDATE ON voip_contract_preferences + FOR EACH ROW BEGIN + + UPDATE kamailio.contract_preferences pp, provisioning.voip_preferences vp + SET pp.id = NEW.id, pp.uuid = NEW.contract_id, pp.type = vp.type, + pp.attribute = vp.attribute, pp.value = NEW.value, pp.last_modified = '0' + WHERE pp.id <=> OLD.id + AND vp.id <=> NEW.attribute_id; + + END */;; + +DELIMITER ; + +COMMIT; diff --git a/db_scripts/diff/15232.up b/db_scripts/diff/15232.up new file mode 100644 index 00000000..3be268a2 --- /dev/null +++ b/db_scripts/diff/15232.up @@ -0,0 +1,43 @@ +SET AUTOCOMMIT=0; + +USE kamailio; + +ALTER TABLE contract_preferences + ADD COLUMN `location_id` int(11) unsigned DEFAULT NULL AFTER `uuid`; + +USE provisioning; + +GRANT SELECT ON provisioning.voip_contract_locations TO 'kamailio'@'localhost'; +GRANT SELECT ON provisioning.voip_contract_location_blocks TO 'kamailio'@'localhost'; + +DROP TRIGGER IF EXISTS voip_contractpref_crepl_trig; +DROP TRIGGER IF EXISTS voip_contractpref_urepl_trig; + +DELIMITER ;; + +/*!50003 CREATE*/ /*!50017 DEFINER=`sipwise`@`localhost`*/ /*!50003 TRIGGER voip_contractpref_crepl_trig AFTER INSERT ON voip_contract_preferences + FOR EACH ROW BEGIN + + INSERT INTO kamailio.contract_preferences + (id, uuid, location_id, attribute, type, value, last_modified) + SELECT NEW.id, NEW.contract_id, NEW.location_id, attribute, type, NEW.value, '0' + FROM provisioning.voip_preferences + WHERE id <=> NEW.attribute_id; + + END */;; + +/*!50003 CREATE*/ /*!50017 DEFINER=`sipwise`@`localhost`*/ /*!50003 TRIGGER voip_contractpref_urepl_trig AFTER UPDATE ON voip_contract_preferences + FOR EACH ROW BEGIN + + UPDATE kamailio.contract_preferences pp, provisioning.voip_preferences vp + SET pp.id = NEW.id, pp.uuid = NEW.contract_id, pp.location_id = NEW.location_id, + pp.type = vp.type, pp.attribute = vp.attribute, + pp.value = NEW.value, pp.last_modified = '0' + WHERE pp.id <=> OLD.id + AND vp.id <=> NEW.attribute_id; + + END */;; + +DELIMITER ; + +COMMIT; diff --git a/db_scripts/diff/15233.down b/db_scripts/diff/15233.down new file mode 100644 index 00000000..05dffc7d --- /dev/null +++ b/db_scripts/diff/15233.down @@ -0,0 +1,8 @@ +SET AUTOCOMMIT=0; + +USE provisioning; + +ALTER TABLE voip_preferences DROP COLUMN contract_location_pref; +ALTER TABLE voip_preferences_enum DROP COLUMN contract_location_pref; + +COMMIT; diff --git a/db_scripts/diff/15233.up b/db_scripts/diff/15233.up new file mode 100644 index 00000000..1c48ed2e --- /dev/null +++ b/db_scripts/diff/15233.up @@ -0,0 +1,21 @@ +SET AUTOCOMMIT=0; + +USE provisioning; + +ALTER TABLE voip_preferences + ADD COLUMN contract_location_pref tinyint(1) NOT NULL DEFAULT '0' AFTER contract_pref; + +ALTER TABLE voip_preferences_enum + ADD COLUMN contract_location_pref tinyint(1) NOT NULL DEFAULT '0' AFTER contract_pref; + +UPDATE voip_preferences SET contract_pref = 1 where attribute = 'emergency_cli'; + +UPDATE voip_preferences SET contract_location_pref = 1 where attribute = 'emergency_prefix'; +UPDATE voip_preferences SET contract_location_pref = 1 where attribute = 'emergency_suffix'; +UPDATE voip_preferences SET contract_location_pref = 1 where attribute = 'emergency_cli'; +UPDATE voip_preferences SET contract_location_pref = 1 where attribute = 'concurrent_max'; +UPDATE voip_preferences SET contract_location_pref = 1 where attribute = 'concurrent_max_out'; +UPDATE voip_preferences SET contract_location_pref = 1 where attribute = 'concurrent_max_total'; +UPDATE voip_preferences SET contract_location_pref = 1 where attribute = 'concurrent_max_out_total'; + +COMMIT;