mirror of https://github.com/sipwise/db-schema.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
2.4 KiB
74 lines
2.4 KiB
USE provisioning;
|
|
|
|
CREATE TABLE `provisioning`.`voip_peer_preferences` (
|
|
`id` int(11) UNSIGNED NOT NULL auto_increment,
|
|
`peer_host_id` int(11) UNSIGNED NOT NULL REFERENCES `voip_peer_hosts` (`id`),
|
|
`attribute_id` int(11) UNSIGNED NOT NULL REFERENCES `voip_preferences` (`id`),
|
|
`value` varchar(255) NOT NULL,
|
|
`modify_timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`id`),
|
|
KEY `peerhostid_idx` (`peer_host_id`),
|
|
KEY `attributeid_idx` (`attribute_id`),
|
|
CONSTRAINT `v_p_p_peerhostid_ref` FOREIGN KEY (`peer_host_id`)
|
|
REFERENCES `voip_peer_hosts` (`id`)
|
|
ON DELETE CASCADE ON UPDATE CASCADE,
|
|
CONSTRAINT `v_p_p_attributeid_ref` FOREIGN KEY (`attribute_id`)
|
|
REFERENCES `voip_preferences` (`id`)
|
|
ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB;
|
|
|
|
USE kamailio;
|
|
|
|
CREATE TABLE `kamailio`.`peer_preferences` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`uuid` varchar(36) NOT NULL,
|
|
`username` varchar(128) NOT NULL DEFAULT '0',
|
|
`domain` varchar(64) NOT NULL DEFAULT '',
|
|
`attribute` varchar(32) NOT NULL DEFAULT '',
|
|
`type` int(11) NOT NULL DEFAULT '0',
|
|
`value` varchar(128) NOT NULL DEFAULT '',
|
|
`last_modified` datetime NOT NULL DEFAULT '1900-01-01 00:00:01',
|
|
PRIMARY KEY (`id`),
|
|
KEY `ua_idx` (`uuid`,`attribute`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
|
|
|
|
|
USE provisioning;
|
|
|
|
DELIMITER |
|
|
|
|
CREATE TRIGGER voip_peerpref_crepl_trig AFTER INSERT ON voip_peer_preferences
|
|
FOR EACH ROW BEGIN
|
|
|
|
INSERT INTO kamailio.peer_preferences
|
|
(id, uuid, attribute, type, value, last_modified)
|
|
SELECT NEW.id, NEW.peer_host_id, attribute, type, NEW.value, '0'
|
|
FROM provisioning.voip_preferences
|
|
WHERE id = NEW.attribute_id;
|
|
|
|
END;
|
|
|
|
|
|
|
CREATE TRIGGER voip_peerpref_urepl_trig AFTER UPDATE ON voip_peer_preferences
|
|
FOR EACH ROW BEGIN
|
|
|
|
UPDATE kamailio.peer_preferences pp, provisioning.voip_preferences vp
|
|
SET pp.id = NEW.id, pp.uuid = NEW.peer_host_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;
|
|
|
|
|
|
|
CREATE TRIGGER voip_peerpref_drepl_trig BEFORE DELETE ON voip_peer_preferences
|
|
FOR EACH ROW BEGIN
|
|
|
|
DELETE FROM kamailio.peer_preferences
|
|
WHERE id = OLD.id;
|
|
|
|
END;
|
|
|
|
|
|
|
DELIMITER ;
|