diff --git a/database/install/myems_billing_baseline_db.sql b/database/install/myems_billing_baseline_db.sql index 8bedbc17..a75070c7 100644 --- a/database/install/myems_billing_baseline_db.sql +++ b/database/install/myems_billing_baseline_db.sql @@ -91,6 +91,32 @@ CREATE TABLE IF NOT EXISTS `myems_billing_baseline_db`.`tbl_equipment_output_cat PRIMARY KEY (`id`)); CREATE INDEX `tbl_equipment_output_category_hourly_index_1` ON `myems_billing_baseline_db`.`tbl_equipment_output_category_hourly` (`equipment_id`, `energy_category_id`, `start_datetime_utc`); +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_billing_baseline_db`.`tbl_meter_hourly` +-- --------------------------------------------------------------------------------------------------------------------- +DROP TABLE IF EXISTS `myems_billing_baseline_db`.`tbl_meter_hourly` ; + +CREATE TABLE IF NOT EXISTS `myems_billing_baseline_db`.`tbl_meter_hourly` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `meter_id` BIGINT NOT NULL, + `start_datetime_utc` DATETIME NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_meter_hourly_index_1` ON `myems_billing_baseline_db`.`tbl_meter_hourly` (`meter_id`, `start_datetime_utc`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_billing_baseline_db`.`tbl_offline_meter_hourly` +-- --------------------------------------------------------------------------------------------------------------------- +DROP TABLE IF EXISTS `myems_billing_baseline_db`.`tbl_offline_meter_hourly` ; + +CREATE TABLE IF NOT EXISTS `myems_billing_baseline_db`.`tbl_offline_meter_hourly` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `offline_meter_id` BIGINT NOT NULL, + `start_datetime_utc` DATETIME NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_offline_meter_hourly_index_1` ON `myems_billing_baseline_db`.`tbl_offline_meter_hourly` (`offline_meter_id`, `start_datetime_utc`); + -- --------------------------------------------------------------------------------------------------------------------- -- Table `myems_billing_baseline_db`.`tbl_shopfloor_input_category_hourly` -- --------------------------------------------------------------------------------------------------------------------- @@ -216,3 +242,16 @@ CREATE TABLE IF NOT EXISTS `myems_billing_baseline_db`.`tbl_tenant_input_item_ho `actual_value` DECIMAL(18, 3) NOT NULL, PRIMARY KEY (`id`)); CREATE INDEX `tbl_tenant_input_item_hourly_index_1` ON `myems_billing_baseline_db`.`tbl_tenant_input_item_hourly` (`tenant_id`, `energy_item_id`, `start_datetime_utc`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_billing_baseline_db`.`tbl_virtual_meter_hourly` +-- --------------------------------------------------------------------------------------------------------------------- +DROP TABLE IF EXISTS `myems_billing_baseline_db`.`tbl_virtual_meter_hourly` ; + +CREATE TABLE IF NOT EXISTS `myems_billing_baseline_db`.`tbl_virtual_meter_hourly` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `virtual_meter_id` BIGINT NOT NULL, + `start_datetime_utc` DATETIME NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_virtual_meter_hourly_index_1` ON `myems_billing_baseline_db`.`tbl_virtual_meter_hourly` (`virtual_meter_id`, `start_datetime_utc`); diff --git a/database/install/myems_energy_baseline_db.sql b/database/install/myems_energy_baseline_db.sql index caceb28d..5764f203 100644 --- a/database/install/myems_energy_baseline_db.sql +++ b/database/install/myems_energy_baseline_db.sql @@ -91,6 +91,32 @@ CREATE TABLE IF NOT EXISTS `myems_energy_baseline_db`.`tbl_equipment_output_cate PRIMARY KEY (`id`)); CREATE INDEX `tbl_equipment_output_category_hourly_index_1` ON `myems_energy_baseline_db`.`tbl_equipment_output_category_hourly` (`equipment_id`, `energy_category_id`, `start_datetime_utc`); +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_baseline_db`.`tbl_meter_hourly` +-- --------------------------------------------------------------------------------------------------------------------- +DROP TABLE IF EXISTS `myems_energy_baseline_db`.`tbl_meter_hourly` ; + +CREATE TABLE IF NOT EXISTS `myems_energy_baseline_db`.`tbl_meter_hourly` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `meter_id` BIGINT NOT NULL, + `start_datetime_utc` DATETIME NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_meter_hourly_index_1` ON `myems_energy_baseline_db`.`tbl_meter_hourly` (`meter_id`, `start_datetime_utc`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_baseline_db`.`tbl_offline_meter_hourly` +-- --------------------------------------------------------------------------------------------------------------------- +DROP TABLE IF EXISTS `myems_energy_baseline_db`.`tbl_offline_meter_hourly` ; + +CREATE TABLE IF NOT EXISTS `myems_energy_baseline_db`.`tbl_offline_meter_hourly` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `offline_meter_id` BIGINT NOT NULL, + `start_datetime_utc` DATETIME NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_offline_meter_hourly_index_1` ON `myems_energy_baseline_db`.`tbl_offline_meter_hourly` (`offline_meter_id`, `start_datetime_utc`); + -- --------------------------------------------------------------------------------------------------------------------- -- Table `myems_energy_baseline_db`.`tbl_shopfloor_input_category_hourly` -- --------------------------------------------------------------------------------------------------------------------- @@ -216,3 +242,16 @@ CREATE TABLE IF NOT EXISTS `myems_energy_baseline_db`.`tbl_tenant_input_item_hou `actual_value` DECIMAL(18, 3) NOT NULL, PRIMARY KEY (`id`)); CREATE INDEX `tbl_tenant_input_item_hourly_index_1` ON `myems_energy_baseline_db`.`tbl_tenant_input_item_hourly` (`tenant_id`, `energy_item_id`, `start_datetime_utc`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_baseline_db`.`tbl_virtual_meter_hourly` +-- --------------------------------------------------------------------------------------------------------------------- +DROP TABLE IF EXISTS `myems_energy_baseline_db`.`tbl_virtual_meter_hourly` ; + +CREATE TABLE IF NOT EXISTS `myems_energy_baseline_db`.`tbl_virtual_meter_hourly` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `virtual_meter_id` BIGINT NOT NULL, + `start_datetime_utc` DATETIME NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_virtual_meter_hourly_index_1` ON `myems_energy_baseline_db`.`tbl_virtual_meter_hourly` (`virtual_meter_id`, `start_datetime_utc`); diff --git a/database/install/myems_energy_model_db.sql b/database/install/myems_energy_model_db.sql new file mode 100644 index 00000000..520c5229 --- /dev/null +++ b/database/install/myems_energy_model_db.sql @@ -0,0 +1,257 @@ +-- MyEMS Energy Model Database +-- store energy consumption models in 8760 hours of year, hour by hour +-- --------------------------------------------------------------------------------------------------------------------- +-- Schema myems_energy_model_db +-- --------------------------------------------------------------------------------------------------------------------- +DROP DATABASE IF EXISTS `myems_energy_model_db` ; +CREATE DATABASE IF NOT EXISTS `myems_energy_model_db` ; +USE `myems_energy_model_db` ; + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_combined_equipment_input_category_8760` +-- --------------------------------------------------------------------------------------------------------------------- +DROP TABLE IF EXISTS `myems_energy_model_db`.`tbl_combined_equipment_input_category_8760` ; + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_combined_equipment_input_category_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `combined_equipment_id` BIGINT NOT NULL, + `energy_category_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_combined_equipment_input_category_8760_index_1` ON `myems_energy_model_db`.`tbl_combined_equipment_input_category_8760` (`combined_equipment_id`, `energy_category_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_combined_equipment_input_item_8760` +-- --------------------------------------------------------------------------------------------------------------------- +DROP TABLE IF EXISTS `myems_energy_model_db`.`tbl_combined_equipment_input_item_8760` ; + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_combined_equipment_input_item_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `combined_equipment_id` BIGINT NOT NULL, + `energy_item_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_combined_equipment_input_item_8760_index_1` ON `myems_energy_model_db`.`tbl_combined_equipment_input_item_8760` (`combined_equipment_id`, `energy_item_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_combined_equipment_output_category_8760` +-- --------------------------------------------------------------------------------------------------------------------- +DROP TABLE IF EXISTS `myems_energy_model_db`.`tbl_combined_equipment_output_category_8760` ; + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_combined_equipment_output_category_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `combined_equipment_id` BIGINT NOT NULL, + `energy_category_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_combined_equipment_output_category_8760_index_1` ON `myems_energy_model_db`.`tbl_combined_equipment_output_category_8760` (`combined_equipment_id`, `energy_category_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_equipment_input_category_8760` +-- --------------------------------------------------------------------------------------------------------------------- +DROP TABLE IF EXISTS `myems_energy_model_db`.`tbl_equipment_input_category_8760` ; + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_equipment_input_category_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `equipment_id` BIGINT NOT NULL, + `energy_category_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_equipment_input_category_8760_index_1` ON `myems_energy_model_db`.`tbl_equipment_input_category_8760` (`equipment_id`, `energy_category_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_equipment_input_item_8760` +-- --------------------------------------------------------------------------------------------------------------------- +DROP TABLE IF EXISTS `myems_energy_model_db`.`tbl_equipment_input_item_8760` ; + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_equipment_input_item_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `equipment_id` BIGINT NOT NULL, + `energy_item_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_equipment_input_item_8760_index_1` ON `myems_energy_model_db`.`tbl_equipment_input_item_8760` (`equipment_id`, `energy_item_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_equipment_output_category_8760` +-- --------------------------------------------------------------------------------------------------------------------- +DROP TABLE IF EXISTS `myems_energy_model_db`.`tbl_equipment_output_category_8760` ; + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_equipment_output_category_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `equipment_id` BIGINT NOT NULL, + `energy_category_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_equipment_output_category_8760_index_1` ON `myems_energy_model_db`.`tbl_equipment_output_category_8760` (`equipment_id`, `energy_category_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_meter_8760` +-- --------------------------------------------------------------------------------------------------------------------- +DROP TABLE IF EXISTS `myems_energy_model_db`.`tbl_meter_8760` ; + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_meter_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `meter_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_meter_8760_index_1` ON `myems_energy_model_db`.`tbl_meter_8760` (`meter_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_offline_meter_8760` +-- --------------------------------------------------------------------------------------------------------------------- +DROP TABLE IF EXISTS `myems_energy_model_db`.`tbl_offline_meter_8760` ; + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_offline_meter_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `offline_meter_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_offline_meter_8760_index_1` ON `myems_energy_model_db`.`tbl_offline_meter_8760` (`offline_meter_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_shopfloor_input_category_8760` +-- --------------------------------------------------------------------------------------------------------------------- +DROP TABLE IF EXISTS `myems_energy_model_db`.`tbl_shopfloor_input_category_8760` ; + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_shopfloor_input_category_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `shopfloor_id` BIGINT NOT NULL, + `energy_category_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_shopfloor_input_category_8760_index_1` ON `myems_energy_model_db`.`tbl_shopfloor_input_category_8760` (`shopfloor_id`, `energy_category_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_shopfloor_input_item_8760` +-- --------------------------------------------------------------------------------------------------------------------- +DROP TABLE IF EXISTS `myems_energy_model_db`.`tbl_shopfloor_input_item_8760` ; + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_shopfloor_input_item_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `shopfloor_id` BIGINT NOT NULL, + `energy_item_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_shopfloor_input_item_8760_index_1` ON `myems_energy_model_db`.`tbl_shopfloor_input_item_8760` (`shopfloor_id`, `energy_item_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_space_input_category_8760` +-- --------------------------------------------------------------------------------------------------------------------- +DROP TABLE IF EXISTS `myems_energy_model_db`.`tbl_space_input_category_8760` ; + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_space_input_category_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `space_id` BIGINT NOT NULL, + `energy_category_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_space_input_category_8760_index_1` ON `myems_energy_model_db`.`tbl_space_input_category_8760` (`space_id`, `energy_category_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_space_input_item_8760` +-- --------------------------------------------------------------------------------------------------------------------- +DROP TABLE IF EXISTS `myems_energy_model_db`.`tbl_space_input_item_8760` ; + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_space_input_item_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `space_id` BIGINT NOT NULL, + `energy_item_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_space_input_item_8760_index_1` ON `myems_energy_model_db`.`tbl_space_input_item_8760` (`space_id`, `energy_item_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_space_output_category_8760` +-- --------------------------------------------------------------------------------------------------------------------- +DROP TABLE IF EXISTS `myems_energy_model_db`.`tbl_space_output_category_8760` ; + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_space_output_category_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `space_id` BIGINT NOT NULL, + `energy_category_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_space_output_category_8760_index_1` ON `myems_energy_model_db`.`tbl_space_output_category_8760` (`space_id`, `energy_category_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_store_input_category_8760` +-- --------------------------------------------------------------------------------------------------------------------- +DROP TABLE IF EXISTS `myems_energy_model_db`.`tbl_store_input_category_8760` ; + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_store_input_category_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `store_id` BIGINT NOT NULL, + `energy_category_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_store_input_category_8760_index_1` ON `myems_energy_model_db`.`tbl_store_input_category_8760` (`store_id`, `energy_category_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_store_input_item_8760` +-- --------------------------------------------------------------------------------------------------------------------- +DROP TABLE IF EXISTS `myems_energy_model_db`.`tbl_store_input_item_8760` ; + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_store_input_item_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `store_id` BIGINT NOT NULL, + `energy_item_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_store_input_item_8760_index_1` ON `myems_energy_model_db`.`tbl_store_input_item_8760` (`store_id`, `energy_item_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_tenant_input_category_8760` +-- --------------------------------------------------------------------------------------------------------------------- +DROP TABLE IF EXISTS `myems_energy_model_db`.`tbl_tenant_input_category_8760` ; + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_tenant_input_category_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `tenant_id` BIGINT NOT NULL, + `energy_category_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_tenant_input_category_8760_index_1` ON `myems_energy_model_db`.`tbl_tenant_input_category_8760` (`tenant_id`, `energy_category_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_tenant_input_item_8760` +-- --------------------------------------------------------------------------------------------------------------------- +DROP TABLE IF EXISTS `myems_energy_model_db`.`tbl_tenant_input_item_8760` ; + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_tenant_input_item_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `tenant_id` BIGINT NOT NULL, + `energy_item_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_tenant_input_item_8760_index_1` ON `myems_energy_model_db`.`tbl_tenant_input_item_8760` (`tenant_id`, `energy_item_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_virtual_meter_8760` +-- --------------------------------------------------------------------------------------------------------------------- +DROP TABLE IF EXISTS `myems_energy_model_db`.`tbl_virtual_meter_8760` ; + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_virtual_meter_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `virtual_meter_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_virtual_meter_8760_index_1` ON `myems_energy_model_db`.`tbl_virtual_meter_8760` (`virtual_meter_id`, `hour_of_year`); diff --git a/database/upgrade/upgrade1.4.1.sql b/database/upgrade/upgrade1.4.1.sql new file mode 100644 index 00000000..a7d45651 --- /dev/null +++ b/database/upgrade/upgrade1.4.1.sql @@ -0,0 +1,316 @@ +START TRANSACTION; + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_baseline_db`.`tbl_meter_hourly` +-- --------------------------------------------------------------------------------------------------------------------- + +CREATE TABLE IF NOT EXISTS `myems_energy_baseline_db`.`tbl_meter_hourly` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `meter_id` BIGINT NOT NULL, + `start_datetime_utc` DATETIME NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_meter_hourly_index_1` ON `myems_energy_baseline_db`.`tbl_meter_hourly` (`meter_id`, `start_datetime_utc`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_baseline_db`.`tbl_offline_meter_hourly` +-- --------------------------------------------------------------------------------------------------------------------- + +CREATE TABLE IF NOT EXISTS `myems_energy_baseline_db`.`tbl_offline_meter_hourly` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `offline_meter_id` BIGINT NOT NULL, + `start_datetime_utc` DATETIME NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_offline_meter_hourly_index_1` ON `myems_energy_baseline_db`.`tbl_offline_meter_hourly` (`offline_meter_id`, `start_datetime_utc`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_baseline_db`.`tbl_virtual_meter_hourly` +-- --------------------------------------------------------------------------------------------------------------------- + +CREATE TABLE IF NOT EXISTS `myems_energy_baseline_db`.`tbl_virtual_meter_hourly` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `virtual_meter_id` BIGINT NOT NULL, + `start_datetime_utc` DATETIME NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_virtual_meter_hourly_index_1` ON `myems_energy_baseline_db`.`tbl_virtual_meter_hourly` (`virtual_meter_id`, `start_datetime_utc`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_billing_baseline_db`.`tbl_meter_hourly` +-- --------------------------------------------------------------------------------------------------------------------- + +CREATE TABLE IF NOT EXISTS `myems_billing_baseline_db`.`tbl_meter_hourly` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `meter_id` BIGINT NOT NULL, + `start_datetime_utc` DATETIME NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_meter_hourly_index_1` ON `myems_billing_baseline_db`.`tbl_meter_hourly` (`meter_id`, `start_datetime_utc`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_billing_baseline_db`.`tbl_offline_meter_hourly` +-- --------------------------------------------------------------------------------------------------------------------- + +CREATE TABLE IF NOT EXISTS `myems_billing_baseline_db`.`tbl_offline_meter_hourly` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `offline_meter_id` BIGINT NOT NULL, + `start_datetime_utc` DATETIME NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_offline_meter_hourly_index_1` ON `myems_billing_baseline_db`.`tbl_offline_meter_hourly` (`offline_meter_id`, `start_datetime_utc`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_billing_baseline_db`.`tbl_virtual_meter_hourly` +-- --------------------------------------------------------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `myems_billing_baseline_db`.`tbl_virtual_meter_hourly` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `virtual_meter_id` BIGINT NOT NULL, + `start_datetime_utc` DATETIME NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_virtual_meter_hourly_index_1` ON `myems_billing_baseline_db`.`tbl_virtual_meter_hourly` (`virtual_meter_id`, `start_datetime_utc`); + +-- MyEMS Energy Model Database +-- store energy consumption models in 8760 hours of year, hour by hour +-- --------------------------------------------------------------------------------------------------------------------- +-- Schema myems_energy_model_db +-- --------------------------------------------------------------------------------------------------------------------- +CREATE DATABASE IF NOT EXISTS `myems_energy_model_db` ; + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_combined_equipment_input_category_8760` +-- --------------------------------------------------------------------------------------------------------------------- + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_combined_equipment_input_category_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `combined_equipment_id` BIGINT NOT NULL, + `energy_category_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_combined_equipment_input_category_8760_index_1` ON `myems_energy_model_db`.`tbl_combined_equipment_input_category_8760` (`combined_equipment_id`, `energy_category_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_combined_equipment_input_item_8760` +-- --------------------------------------------------------------------------------------------------------------------- + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_combined_equipment_input_item_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `combined_equipment_id` BIGINT NOT NULL, + `energy_item_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_combined_equipment_input_item_8760_index_1` ON `myems_energy_model_db`.`tbl_combined_equipment_input_item_8760` (`combined_equipment_id`, `energy_item_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_combined_equipment_output_category_8760` +-- --------------------------------------------------------------------------------------------------------------------- + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_combined_equipment_output_category_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `combined_equipment_id` BIGINT NOT NULL, + `energy_category_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_combined_equipment_output_category_8760_index_1` ON `myems_energy_model_db`.`tbl_combined_equipment_output_category_8760` (`combined_equipment_id`, `energy_category_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_equipment_input_category_8760` +-- --------------------------------------------------------------------------------------------------------------------- + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_equipment_input_category_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `equipment_id` BIGINT NOT NULL, + `energy_category_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_equipment_input_category_8760_index_1` ON `myems_energy_model_db`.`tbl_equipment_input_category_8760` (`equipment_id`, `energy_category_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_equipment_input_item_8760` +-- --------------------------------------------------------------------------------------------------------------------- + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_equipment_input_item_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `equipment_id` BIGINT NOT NULL, + `energy_item_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_equipment_input_item_8760_index_1` ON `myems_energy_model_db`.`tbl_equipment_input_item_8760` (`equipment_id`, `energy_item_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_equipment_output_category_8760` +-- --------------------------------------------------------------------------------------------------------------------- + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_equipment_output_category_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `equipment_id` BIGINT NOT NULL, + `energy_category_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_equipment_output_category_8760_index_1` ON `myems_energy_model_db`.`tbl_equipment_output_category_8760` (`equipment_id`, `energy_category_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_meter_8760` +-- --------------------------------------------------------------------------------------------------------------------- + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_meter_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `meter_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_meter_8760_index_1` ON `myems_energy_model_db`.`tbl_meter_8760` (`meter_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_offline_meter_8760` +-- --------------------------------------------------------------------------------------------------------------------- + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_offline_meter_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `offline_meter_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_offline_meter_8760_index_1` ON `myems_energy_model_db`.`tbl_offline_meter_8760` (`offline_meter_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_shopfloor_input_category_8760` +-- --------------------------------------------------------------------------------------------------------------------- + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_shopfloor_input_category_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `shopfloor_id` BIGINT NOT NULL, + `energy_category_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_shopfloor_input_category_8760_index_1` ON `myems_energy_model_db`.`tbl_shopfloor_input_category_8760` (`shopfloor_id`, `energy_category_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_shopfloor_input_item_8760` +-- --------------------------------------------------------------------------------------------------------------------- + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_shopfloor_input_item_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `shopfloor_id` BIGINT NOT NULL, + `energy_item_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_shopfloor_input_item_8760_index_1` ON `myems_energy_model_db`.`tbl_shopfloor_input_item_8760` (`shopfloor_id`, `energy_item_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_space_input_category_8760` +-- --------------------------------------------------------------------------------------------------------------------- + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_space_input_category_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `space_id` BIGINT NOT NULL, + `energy_category_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_space_input_category_8760_index_1` ON `myems_energy_model_db`.`tbl_space_input_category_8760` (`space_id`, `energy_category_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_space_input_item_8760` +-- --------------------------------------------------------------------------------------------------------------------- + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_space_input_item_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `space_id` BIGINT NOT NULL, + `energy_item_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_space_input_item_8760_index_1` ON `myems_energy_model_db`.`tbl_space_input_item_8760` (`space_id`, `energy_item_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_space_output_category_8760` +-- --------------------------------------------------------------------------------------------------------------------- + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_space_output_category_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `space_id` BIGINT NOT NULL, + `energy_category_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_space_output_category_8760_index_1` ON `myems_energy_model_db`.`tbl_space_output_category_8760` (`space_id`, `energy_category_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_store_input_category_8760` +-- --------------------------------------------------------------------------------------------------------------------- + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_store_input_category_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `store_id` BIGINT NOT NULL, + `energy_category_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_store_input_category_8760_index_1` ON `myems_energy_model_db`.`tbl_store_input_category_8760` (`store_id`, `energy_category_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_store_input_item_8760` +-- --------------------------------------------------------------------------------------------------------------------- + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_store_input_item_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `store_id` BIGINT NOT NULL, + `energy_item_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_store_input_item_8760_index_1` ON `myems_energy_model_db`.`tbl_store_input_item_8760` (`store_id`, `energy_item_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_tenant_input_category_8760` +-- --------------------------------------------------------------------------------------------------------------------- + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_tenant_input_category_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `tenant_id` BIGINT NOT NULL, + `energy_category_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_tenant_input_category_8760_index_1` ON `myems_energy_model_db`.`tbl_tenant_input_category_8760` (`tenant_id`, `energy_category_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_tenant_input_item_8760` +-- --------------------------------------------------------------------------------------------------------------------- + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_tenant_input_item_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `tenant_id` BIGINT NOT NULL, + `energy_item_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_tenant_input_item_8760_index_1` ON `myems_energy_model_db`.`tbl_tenant_input_item_8760` (`tenant_id`, `energy_item_id`, `hour_of_year`); + +-- --------------------------------------------------------------------------------------------------------------------- +-- Table `myems_energy_model_db`.`tbl_virtual_meter_8760` +-- --------------------------------------------------------------------------------------------------------------------- + +CREATE TABLE IF NOT EXISTS `myems_energy_model_db`.`tbl_virtual_meter_8760` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `virtual_meter_id` BIGINT NOT NULL, + `hour_of_year` INT NOT NULL, + `actual_value` DECIMAL(18, 3) NOT NULL, + PRIMARY KEY (`id`)); +CREATE INDEX `tbl_virtual_meter_8760_index_1` ON `myems_energy_model_db`.`tbl_virtual_meter_8760` (`virtual_meter_id`, `hour_of_year`); + + +-- UPDATE VERSION NUMBER +UPDATE myems_system_db.tbl_versions SET version='1.4.1', release_date='2021-12-12' WHERE id=1; + +COMMIT;