mirror of https://github.com/sipwise/db-schema.git
+replace old lnp_provider_id index by multi-column unique index (safe one index) +not replicated, as lnp_numbers table could get large Change-Id: I776358e42345f9a58bd3c755f7e40b12c1ac0a25changes/01/6501/5
parent
0aa3269e0d
commit
bd3911b9ac
@ -0,0 +1,11 @@
|
||||
SET sql_log_bin=0;
|
||||
USE billing;
|
||||
|
||||
ALTER TABLE lnp_numbers DROP FOREIGN KEY l_n_lnpproid_ref;
|
||||
DROP INDEX l_n_lnpproidnumber_idx ON lnp_numbers;
|
||||
CREATE INDEX l_n_lnpproid_ref ON lnp_numbers (lnp_provider_id);
|
||||
ALTER TABLE lnp_numbers ADD CONSTRAINT l_n_lnpproid_ref FOREIGN KEY (lnp_provider_id) REFERENCES lnp_providers (id) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
UPDATE lnp_numbers
|
||||
SET number=SUBSTRING_INDEX(SUBSTRING_INDEX(number,'--',2),'--',-1)
|
||||
WHERE number LIKE 'dupe--%--%';
|
@ -0,0 +1,15 @@
|
||||
SET sql_log_bin=0;
|
||||
USE billing;
|
||||
|
||||
UPDATE
|
||||
lnp_numbers a
|
||||
CROSS JOIN lnp_numbers b
|
||||
SET a.number = CONCAT('dupe--',a.number,'--',a.id)
|
||||
WHERE
|
||||
a.id < b.id
|
||||
and (a.number = b.number and a.lnp_provider_id = b.lnp_provider_id);
|
||||
|
||||
ALTER TABLE lnp_numbers DROP FOREIGN KEY l_n_lnpproid_ref;
|
||||
DROP INDEX l_n_lnpproid_ref ON lnp_numbers;
|
||||
CREATE UNIQUE INDEX l_n_lnpproidnumber_idx ON lnp_numbers (lnp_provider_id,number);
|
||||
ALTER TABLE lnp_numbers ADD CONSTRAINT l_n_lnpproid_ref FOREIGN KEY (lnp_provider_id) REFERENCES lnp_providers (id) ON DELETE RESTRICT ON UPDATE CASCADE;
|
Loading…
Reference in new issue