-- -- Table structure for table `accounts` -- DROP TABLE IF EXISTS accounts; CREATE TABLE accounts ( `pk` int(11) NOT NULL AUTO_INCREMENT, `tenant` VARCHAR(40) NOT NULL, `id` VARCHAR(64) NOT NULL, `account` JSON NOT NULL, PRIMARY KEY (`pk`), UNIQUE KEY unique_tenant_id (`tenant`, `id`) ); CREATE UNIQUE INDEX accounts_idx ON accounts (`id`); DROP TABLE IF EXISTS ip_profiles; CREATE TABLE ip_profiles ( `pk` int(11) NOT NULL AUTO_INCREMENT, `tenant` VARCHAR(40) NOT NULL, `id` VARCHAR(64) NOT NULL, `ip_profile` JSON NOT NULL, PRIMARY KEY (`pk`), UNIQUE KEY unique_tenant_id (`tenant`, `id`) ); CREATE UNIQUE INDEX ip_profiles_idx ON ip_profiles (`id`); DROP TABLE IF EXISTS ip_allocations; CREATE TABLE ip_allocations ( `pk` int(11) NOT NULL AUTO_INCREMENT, `tenant` VARCHAR(40) NOT NULL, `id` VARCHAR(64) NOT NULL, `ip_allocation` JSON NOT NULL, PRIMARY KEY (`pk`), UNIQUE KEY unique_tenant_id (`tenant`, `id`) ); CREATE UNIQUE INDEX ip_allocations_idx ON ip_allocations (`id`); DROP TABLE IF EXISTS action_profiles; CREATE TABLE action_profiles ( `pk` int(11) NOT NULL AUTO_INCREMENT, `tenant` VARCHAR(40) NOT NULL, `id` VARCHAR(64) NOT NULL, `action_profile` JSON NOT NULL, PRIMARY KEY (`pk`), UNIQUE KEY unique_tenant_id (`tenant`, `id`) ); CREATE UNIQUE INDEX action_profiles_idx ON action_profiles (`id`); DROP TABLE IF EXISTS charger_profiles; CREATE TABLE charger_profiles ( `pk` int(11) NOT NULL AUTO_INCREMENT, `tenant` VARCHAR(40) NOT NULL, `id` VARCHAR(64) NOT NULL, `charger_profile` JSON NOT NULL, PRIMARY KEY (`pk`), UNIQUE KEY unique_tenant_id (`tenant`, `id`) ); CREATE UNIQUE INDEX charger_profiles_idx ON charger_profiles (`id`); DROP TABLE IF EXISTS attribute_profiles; CREATE TABLE attribute_profiles ( `pk` int(11) NOT NULL AUTO_INCREMENT, `tenant` VARCHAR(40) NOT NULL, `id` VARCHAR(64) NOT NULL, `attribute_profile` JSON NOT NULL, PRIMARY KEY (`pk`), UNIQUE KEY unique_tenant_id (`tenant`, `id`) ); CREATE UNIQUE INDEX attribute_profiles_idx ON attribute_profiles (`id`); DROP TABLE IF EXISTS resource_profiles; CREATE TABLE resource_profiles ( `pk` int(11) NOT NULL AUTO_INCREMENT, `tenant` VARCHAR(40) NOT NULL, `id` VARCHAR(64) NOT NULL, `resource_profile` JSON NOT NULL, PRIMARY KEY (`pk`), UNIQUE KEY unique_tenant_id (`tenant`, `id`) ); CREATE UNIQUE INDEX resource_profiles_idx ON resource_profiles (`id`); DROP TABLE IF EXISTS resources; CREATE TABLE resources ( `pk` int(11) NOT NULL AUTO_INCREMENT, `tenant` VARCHAR(40) NOT NULL, `id` VARCHAR(64) NOT NULL, `resource` JSON NOT NULL, PRIMARY KEY (`pk`), UNIQUE KEY unique_tenant_id (`tenant`, `id`) ); CREATE UNIQUE INDEX resources_idx ON resources (`id`); DROP TABLE IF EXISTS stat_queue_profiles; CREATE TABLE stat_queue_profiles ( `pk` int(11) NOT NULL AUTO_INCREMENT, `tenant` VARCHAR(40) NOT NULL, `id` VARCHAR(64) NOT NULL, `stat_queue_profile` JSON NOT NULL, PRIMARY KEY (`pk`), UNIQUE KEY unique_tenant_id (`tenant`, `id`) ); CREATE UNIQUE INDEX stat_queue_profiles_idx ON stat_queue_profiles (`id`); DROP TABLE IF EXISTS stat_queues; CREATE TABLE stat_queues ( `pk` int(11) NOT NULL AUTO_INCREMENT, `tenant` VARCHAR(40) NOT NULL, `id` VARCHAR(64) NOT NULL, `stat_queue` JSON NOT NULL, PRIMARY KEY (`pk`), UNIQUE KEY unique_tenant_id (`tenant`, `id`) ); CREATE UNIQUE INDEX stat_queues_idx ON stat_queues (`id`); DROP TABLE IF EXISTS threshold_profiles; CREATE TABLE threshold_profiles ( `pk` int(11) NOT NULL AUTO_INCREMENT, `tenant` VARCHAR(40) NOT NULL, `id` VARCHAR(64) NOT NULL, `threshold_profile` JSON NOT NULL, PRIMARY KEY (`pk`), UNIQUE KEY unique_tenant_id (`tenant`, `id`) ); CREATE UNIQUE INDEX threshold_profiles_idx ON threshold_profiles (`id`); DROP TABLE IF EXISTS thresholds; CREATE TABLE thresholds ( `pk` int(11) NOT NULL AUTO_INCREMENT, `tenant` VARCHAR(40) NOT NULL, `id` VARCHAR(64) NOT NULL, `threshold` JSON NOT NULL, PRIMARY KEY (`pk`), UNIQUE KEY unique_tenant_id (`tenant`, `id`) ); CREATE UNIQUE INDEX thresholds_idx ON thresholds (`id`); DROP TABLE IF EXISTS filters; CREATE TABLE filters ( `pk` int(11) NOT NULL AUTO_INCREMENT, `tenant` VARCHAR(40) NOT NULL, `id` VARCHAR(64) NOT NULL, `filter` JSON NOT NULL, PRIMARY KEY (`pk`), UNIQUE KEY unique_tenant_id (`tenant`, `id`) ); CREATE INDEX filters_idx ON filters (`id`); DROP TABLE IF EXISTS route_profiles; CREATE TABLE route_profiles ( `pk` int(11) NOT NULL AUTO_INCREMENT, `tenant` VARCHAR(40) NOT NULL, `id` VARCHAR(64) NOT NULL, `route_profile` JSON NOT NULL, PRIMARY KEY (`pk`), UNIQUE KEY unique_tenant_id (`tenant`, `id`) ); CREATE UNIQUE INDEX route_profiles_idx ON route_profiles (`id`); DROP TABLE IF EXISTS rates; DROP TABLE IF EXISTS rate_profiles; CREATE TABLE rate_profiles ( `pk` int(11) NOT NULL AUTO_INCREMENT, `tenant` VARCHAR(40) NOT NULL, `id` VARCHAR(64) NOT NULL, `rate_profile` JSON NOT NULL, PRIMARY KEY (`pk`), UNIQUE KEY unique_tenant_id (`tenant`, `id`) ); CREATE UNIQUE INDEX rate_profiles_idx ON rate_profiles (`id`); CREATE TABLE rates ( `pk` int(11) NOT NULL AUTO_INCREMENT, `tenant` VARCHAR(40) NOT NULL, `id` VARCHAR(64) NOT NULL, `rate_profile_id` VARCHAR(64) NOT NULL, `rate` JSON NOT NULL, PRIMARY KEY (`pk`), UNIQUE KEY unique_tenant_id_rate_profile_id (`tenant`, `id`, `rate_profile_id`), FOREIGN KEY (rate_profile_id) REFERENCES rate_profiles (id) ); DROP TABLE IF EXISTS ranking_profiles; CREATE TABLE ranking_profiles ( `pk` int(11) NOT NULL AUTO_INCREMENT, `tenant` VARCHAR(40) NOT NULL, `id` VARCHAR(64) NOT NULL, `ranking_profile` JSON NOT NULL, PRIMARY KEY (`pk`), UNIQUE KEY unique_tenant_id (`tenant`, `id`) ); CREATE UNIQUE INDEX ranking_profiles_idx ON ranking_profiles (`id`); DROP TABLE IF EXISTS rankings; CREATE TABLE rankings ( `pk` int(11) NOT NULL AUTO_INCREMENT, `tenant` VARCHAR(40) NOT NULL, `id` VARCHAR(64) NOT NULL, `ranking` JSON NOT NULL, PRIMARY KEY (`pk`), UNIQUE KEY unique_tenant_id (`tenant`, `id`) ); CREATE UNIQUE INDEX rankings_idx ON rankings (`id`); DROP TABLE IF EXISTS trend_profiles; CREATE TABLE trend_profiles ( `pk` int(11) NOT NULL AUTO_INCREMENT, `tenant` VARCHAR(40) NOT NULL, `id` VARCHAR(64) NOT NULL, `trend_profile` JSON NOT NULL, PRIMARY KEY (`pk`), UNIQUE KEY unique_tenant_id (`tenant`, `id`) ); CREATE UNIQUE INDEX trend_profiles_idx ON trend_profiles (`id`); DROP TABLE IF EXISTS trends; CREATE TABLE trends ( `pk` int(11) NOT NULL AUTO_INCREMENT, `tenant` VARCHAR(40) NOT NULL, `id` VARCHAR(64) NOT NULL, `trend` JSON NOT NULL, PRIMARY KEY (`pk`), UNIQUE KEY unique_tenant_id (`tenant`, `id`) ); CREATE UNIQUE INDEX trends_idx ON trends (`id`); DROP TABLE IF EXISTS load_history; CREATE TABLE load_history ( `key` VARCHAR(64) NOT NULL, `load_instance` JSON NOT NULL, PRIMARY KEY (`key`) ); DROP TABLE IF EXISTS load_ids; CREATE TABLE load_ids ( `pk` int(11) NOT NULL AUTO_INCREMENT, `load_ids` JSON NOT NULL, PRIMARY KEY (`pk`) ); DROP TABLE IF EXISTS indexes; CREATE TABLE indexes ( `pk` int(11) NOT NULL AUTO_INCREMENT, `tenant` VARCHAR(40), `type` VARCHAR(40) NOT NULL, `key` VARCHAR(64), `value` JSON NOT NULL, PRIMARY KEY (`pk`), UNIQUE KEY unique_tenant_type_key (`tenant`, `type`, `key`) ); CREATE INDEX indexes_key_idx ON indexes (`key`); CREATE INDEX indexes_type_idx ON indexes (`type`); CREATE INDEX indexes_type_key_idx ON indexes (`type`, `key`);