diff --git a/db_scripts/diff/9458.down b/db_scripts/diff/9458.down new file mode 100644 index 00000000..dd4fe1cb --- /dev/null +++ b/db_scripts/diff/9458.down @@ -0,0 +1,40 @@ +USE provisioning; + +-- audio files for IVR, auto-attendant, etc. +CREATE TABLE `voip_audio_files` ( + `id` int(11) unsigned NOT NULL auto_increment, + `subscriber_id` int(11) unsigned REFERENCES `voip_subscribers` (`id`), + `domain_id` int(11) unsigned REFERENCES `voip_domains` (`id`), + `handle` varchar(63) NOT NULL, + `description` text, + `audio` longblob, + PRIMARY KEY (`id`), + UNIQUE KEY `subhand_idx` (`subscriber_id`, `handle`), + UNIQUE KEY `domhand_idx` (`domain_id`, `handle`), + CONSTRAINT `v_a_f_subscriberid_ref` FOREIGN KEY (`subscriber_id`) + REFERENCES `voip_subscribers` (`id`) + ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `v_a_f_domainid_ref` FOREIGN KEY (`domain_id`) + REFERENCES `voip_domains` (`id`) + ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB; + +-- VSC table +CREATE TABLE `voip_vscs` ( + `id` int(11) unsigned NOT NULL auto_increment, + `domain_id` int(11) unsigned REFERENCES `voip_domains` (`id`), + `digits` char(2), + `action` varchar(31) NOT NULL, + `audio_id` int(11) unsigned NOT NULL REFERENCES `voip_audio_files` (`id`), + `description` text, + PRIMARY KEY (`id`), + UNIQUE KEY `domdig_idx` (`domain_id`, `digits`), + UNIQUE KEY `domaction_idx` (`domain_id`, `action`), + KEY `audioid_idx` (`audio_id`), + CONSTRAINT `v_v_domainid_ref` FOREIGN KEY (`domain_id`) + REFERENCES `voip_domains` (`id`) + ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `v_v_audioid_ref` FOREIGN KEY (`audio_id`) + REFERENCES `voip_audio_files` (`id`) + ON DELETE RESTRICT ON UPDATE CASCADE +) ENGINE=InnoDB; diff --git a/db_scripts/diff/9458.up b/db_scripts/diff/9458.up new file mode 100644 index 00000000..43d95efb --- /dev/null +++ b/db_scripts/diff/9458.up @@ -0,0 +1,7 @@ +USE provisioning; + +DROP TABLE voip_vscs; + +-- voip_audio_files was probably already dropped with 9069.up +DROP TABLE IF EXISTS voip_audio_files; +