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.
db-schema/db_scripts/base/4762.up

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 ;