mirror of https://github.com/sipwise/db-schema.git
25 lines
1.1 KiB
25 lines
1.1 KiB
# Remove duplicated rules on the same group. Triggers should do the rest for lcr_rule.
|
|
|
|
use provisioning;
|
|
#make sure that the repeated have caller_prefix '' instead of null or won't be detected
|
|
UPDATE voip_peer_rules SET caller_pattern='' WHERE caller_pattern IS NULL;
|
|
|
|
#Can't use ALTER IGNORE in Percona https://bugs.launchpad.net/percona-xtradb/+bug/604439
|
|
#ALTER IGNORE TABLE voip_peer_rules ADD UNIQUE KEY `idx1temp` (`group_id`, `callee_prefix`, `callee_pattern`, `caller_pattern`);
|
|
#ALTER TABLE voip_peer_rules DROP KEY `idx1temp`;
|
|
|
|
|
|
#Remove duplicated that could be added via ossbss. Removed keys via triggers will be added later
|
|
CREATE TABLE newtemp LIKE voip_peer_rules;
|
|
ALTER TABLE newtemp ADD UNIQUE KEY `idx1temp` (`group_id`, `callee_prefix`, `callee_pattern`, `caller_pattern`);
|
|
INSERT IGNORE INTO newtemp SELECT * FROM voip_peer_rules;
|
|
DELETE FROM voip_peer_rules;
|
|
INSERT INTO voip_peer_rules SELECT * FROM newtemp;
|
|
DROP table newtemp;
|
|
|
|
|
|
# Now we can create the unique key without duplicates
|
|
use kamailio;
|
|
ALTER TABLE lcr_rule ADD UNIQUE KEY `lcr_id_prefix_from_uri_idx` (`lcr_id`,`prefix`,`from_uri`, `request_uri`, `group_id`);
|
|
|