mirror of https://github.com/sipwise/db-schema.git
* reseller - reseller_phonebook * contract - contract_phonebook * subscriber - subscriber_phonebook Change-Id: Ie9d6e63a688a5edb8481896720ac374cd2a7ebfbchanges/44/19744/10
parent
b2e5dae1f8
commit
e7154a71f0
@ -0,0 +1,8 @@
|
||||
USE billing;
|
||||
|
||||
DROP TRIGGER phonebook_on_reseller_update;
|
||||
DROP TRIGGER phonebook_on_contract_update;
|
||||
DROP TRIGGER phonebook_on_subscriber_update;
|
||||
DROP TABLE reseller_phonebook;
|
||||
DROP TABLE contract_phonebook;
|
||||
DROP TABLE subscriber_phonebook;
|
@ -0,0 +1,71 @@
|
||||
USE billing;
|
||||
|
||||
CREATE TABLE reseller_phonebook
|
||||
(
|
||||
id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
reseller_id INT(11) UNSIGNED NOT NULL,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
number VARCHAR(255) NOT NULL,
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE KEY rel_u_idx (reseller_id, number),
|
||||
KEY name_idx(name),
|
||||
KEY number_idx(number),
|
||||
CONSTRAINT pb_reseller_id_ref FOREIGN KEY (reseller_id) REFERENCES resellers (id) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE contract_phonebook
|
||||
(
|
||||
id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
contract_id INT(11) UNSIGNED NOT NULL,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
number VARCHAR(255) NOT NULL,
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE KEY rel_u_idx (contract_id, number),
|
||||
KEY name_idx(name),
|
||||
KEY number_idx(number),
|
||||
CONSTRAINT pb_contract_id_ref FOREIGN KEY (contract_id) REFERENCES contracts (id) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE subscriber_phonebook
|
||||
(
|
||||
id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
subscriber_id INT(11) UNSIGNED NOT NULL,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
number VARCHAR(255) NOT NULL,
|
||||
shared TINYINT(1) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE KEY rel_u_idx (subscriber_id, number),
|
||||
KEY name_idx(name),
|
||||
KEY number_idx(number),
|
||||
CONSTRAINT pb_subscriber_id_ref FOREIGN KEY (subscriber_id) REFERENCES voip_subscribers (id) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER phonebook_on_reseller_update AFTER UPDATE ON resellers
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF new.status = 'terminated' THEN
|
||||
DELETE FROM phonebook WHERE reseller_id = old.id;
|
||||
END IF;
|
||||
END; //
|
||||
DELIMITER ;
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER phonebook_on_contract_update AFTER UPDATE ON contracts
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF new.status = 'terminated' THEN
|
||||
DELETE FROM phonebook WHERE contract_id = old.id;
|
||||
END IF;
|
||||
END; //
|
||||
DELIMITER ;
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER phonebook_on_subscriber_update AFTER UPDATE ON voip_subscribers
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF new.status = 'terminated' THEN
|
||||
DELETE FROM phonebook WHERE subscriber_id = old.id;
|
||||
END IF;
|
||||
END; //
|
||||
DELIMITER ;
|
Loading…
Reference in new issue