From 7dd689ae55c54e54551c9e34d7dc2a55f86aac24 Mon Sep 17 00:00:00 2001 From: Andreas Granig Date: Fri, 20 Sep 2013 14:03:45 +0200 Subject: [PATCH] Add PBX autoprovisioning tables. --- db_scripts/diff/15014.down | 9 ++++++ db_scripts/diff/15014.up | 66 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 db_scripts/diff/15014.down create mode 100644 db_scripts/diff/15014.up diff --git a/db_scripts/diff/15014.down b/db_scripts/diff/15014.down new file mode 100644 index 00000000..8ffa633c --- /dev/null +++ b/db_scripts/diff/15014.down @@ -0,0 +1,9 @@ +USE provisioning; + +SET FOREIGN_KEY_CHECKS=0; +DROP TABLE `autoprov_configs`; +DROP TABLE `autoprov_devices`; +DROP TABLE `autoprov_field_devices`; +DROP TABLE `autoprov_firmwares`; +DROP TABLE `autoprov_profiles`; +SET FOREIGN_KEY_CHECKS=1; diff --git a/db_scripts/diff/15014.up b/db_scripts/diff/15014.up new file mode 100644 index 00000000..deb005fe --- /dev/null +++ b/db_scripts/diff/15014.up @@ -0,0 +1,66 @@ +USE provisioning; + +CREATE TABLE `autoprov_configs` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `device_id` int(11) unsigned NOT NULL, + `version` varchar(255) NOT NULL, + `content_type` varchar(255) NOT NULL, + `data` mediumtext NOT NULL, + PRIMARY KEY (`id`), + KEY `fk_config_device_idx` (`device_id`), + CONSTRAINT `fk_config_device_idx` FOREIGN KEY (`device_id`) REFERENCES `autoprov_devices` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB; + +CREATE TABLE `autoprov_devices` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `reseller_id` int(11) unsigned NOT NULL, + `vendor` varchar(255) NOT NULL, + `model` varchar(255) NOT NULL, + `front_image` mediumblob, + `front_image_type` varchar(32) DEFAULT NULL, + `mac_image` mediumblob, + `mac_image_type` varchar(32) DEFAULT NULL, + `sync_uri` varchar(255) DEFAULT NULL, + `sync_method` enum('GET','POST') DEFAULT 'GET', + `sync_params` varchar(255) DEFAULT NULL, + `security_handler` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `reseller_idx` (`reseller_id`) +) ENGINE=InnoDB; + +CREATE TABLE `autoprov_field_devices` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `subscriber_id` int(11) unsigned NOT NULL, + `profile_id` int(11) unsigned NOT NULL, + `identifier` varchar(255) NOT NULL, + `bootstrapped` tinyint(1) NOT NULL DEFAULT '0', + `insecure_transfer` tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_identifier_idx` (`identifier`), + KEY `fk_fdev_subscriber_idx` (`subscriber_id`), + KEY `fk_fdev_profile_idx` (`profile_id`), + CONSTRAINT `fk_fdev_profile_idx` FOREIGN KEY (`profile_id`) REFERENCES `autoprov_profiles` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `fk_fdev_subscriber_idx` FOREIGN KEY (`subscriber_id`) REFERENCES `voip_subscribers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB; + +CREATE TABLE `autoprov_firmwares` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `device_id` int(11) unsigned NOT NULL, + `filename` varchar(255) NOT NULL, + `data` longblob NOT NULL, + PRIMARY KEY (`id`), + KEY `fk_device_idx` (`device_id`), + CONSTRAINT `fk_device_idx` FOREIGN KEY (`device_id`) REFERENCES `autoprov_devices` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB; + +CREATE TABLE `autoprov_profiles` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `firmware_id` int(11) unsigned DEFAULT NULL, + `config_id` int(11) unsigned NOT NULL, + `name` varchar(255) NOT NULL, + PRIMARY KEY (`id`), + KEY `fk_profile_firmware_idx` (`firmware_id`), + KEY `fk_profile_config_idx` (`config_id`), + CONSTRAINT `fk_profile_config_idx` FOREIGN KEY (`config_id`) REFERENCES `autoprov_configs` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `fk_profile_firmware_idx` FOREIGN KEY (`firmware_id`) REFERENCES `autoprov_firmwares` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB;