CREATE TABLE IF NOT EXISTS `iot_scene_rule` ( `id` bigint NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL DEFAULT '', `description` varchar(500) DEFAULT NULL, `status` tinyint NOT NULL DEFAULT '0', `triggers` text, `actions` text, `creator` varchar(64) DEFAULT '', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `updater` varchar(64) DEFAULT '', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `deleted` tinyint(1) NOT NULL DEFAULT '0', `tenant_id` bigint NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) COMMENT='IoT 场景联动规则表'; CREATE TABLE IF NOT EXISTS `iot_product` ( `id` bigint NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL DEFAULT '', `product_key` varchar(100) NOT NULL DEFAULT '', `protocol_type` tinyint NOT NULL DEFAULT '0', `category_id` bigint DEFAULT NULL, `description` varchar(500) DEFAULT NULL, `data_format` tinyint NOT NULL DEFAULT '0', `device_type` tinyint NOT NULL DEFAULT '0', `net_type` tinyint NOT NULL DEFAULT '0', `validate_type` tinyint NOT NULL DEFAULT '0', `status` tinyint NOT NULL DEFAULT '0', `creator` varchar(64) DEFAULT '', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `updater` varchar(64) DEFAULT '', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `deleted` tinyint(1) NOT NULL DEFAULT '0', `tenant_id` bigint NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) COMMENT='IoT 产品表'; CREATE TABLE IF NOT EXISTS `iot_device` ( `id` bigint NOT NULL AUTO_INCREMENT, `device_name` varchar(255) NOT NULL DEFAULT '', `product_id` bigint NOT NULL, `device_key` varchar(100) NOT NULL DEFAULT '', `device_secret` varchar(100) NOT NULL DEFAULT '', `nickname` varchar(255) DEFAULT NULL, `status` tinyint NOT NULL DEFAULT '0', `status_last_update_time` timestamp DEFAULT NULL, `last_online_time` timestamp DEFAULT NULL, `last_offline_time` timestamp DEFAULT NULL, `active_time` timestamp DEFAULT NULL, `ip` varchar(50) DEFAULT NULL, `firmware_version` varchar(50) DEFAULT NULL, `device_type` tinyint NOT NULL DEFAULT '0', `gateway_id` bigint DEFAULT NULL, `sub_device_count` int NOT NULL DEFAULT '0', `creator` varchar(64) DEFAULT '', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `updater` varchar(64) DEFAULT '', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `deleted` tinyint(1) NOT NULL DEFAULT '0', `tenant_id` bigint NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) COMMENT='IoT 设备表'; CREATE TABLE IF NOT EXISTS `iot_thing_model` ( `id` bigint NOT NULL AUTO_INCREMENT, `product_id` bigint NOT NULL, `identifier` varchar(100) NOT NULL DEFAULT '', `name` varchar(255) NOT NULL DEFAULT '', `description` varchar(500) DEFAULT NULL, `type` tinyint NOT NULL DEFAULT '1', `property` text, `creator` varchar(64) DEFAULT '', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `updater` varchar(64) DEFAULT '', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `deleted` tinyint(1) NOT NULL DEFAULT '0', `tenant_id` bigint NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) COMMENT='IoT 物模型表'; CREATE TABLE IF NOT EXISTS `iot_device_data` ( `id` bigint NOT NULL AUTO_INCREMENT, `device_id` bigint NOT NULL, `product_id` bigint NOT NULL, `identifier` varchar(100) NOT NULL DEFAULT '', `type` tinyint NOT NULL DEFAULT '1', `data` text, `ts` bigint NOT NULL DEFAULT '0', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) COMMENT='IoT 设备数据表'; CREATE TABLE IF NOT EXISTS `iot_alert_config` ( `id` bigint NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL DEFAULT '', `product_id` bigint NOT NULL, `device_id` bigint DEFAULT NULL, `rule_id` bigint DEFAULT NULL, `status` tinyint NOT NULL DEFAULT '0', `creator` varchar(64) DEFAULT '', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `updater` varchar(64) DEFAULT '', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `deleted` tinyint(1) NOT NULL DEFAULT '0', `tenant_id` bigint NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) COMMENT='IoT 告警配置表'; CREATE TABLE IF NOT EXISTS `iot_alert_record` ( `id` bigint NOT NULL AUTO_INCREMENT, `alert_config_id` bigint NOT NULL, `alert_name` varchar(255) NOT NULL DEFAULT '', `product_id` bigint NOT NULL, `device_id` bigint DEFAULT NULL, `rule_id` bigint DEFAULT NULL, `alert_data` text, `alert_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `deal_status` tinyint NOT NULL DEFAULT '0', `deal_time` timestamp DEFAULT NULL, `deal_user_id` bigint DEFAULT NULL, `deal_remark` varchar(500) DEFAULT NULL, `creator` varchar(64) DEFAULT '', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `updater` varchar(64) DEFAULT '', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `deleted` tinyint(1) NOT NULL DEFAULT '0', `tenant_id` bigint NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) COMMENT='IoT 告警记录表'; CREATE TABLE IF NOT EXISTS `iot_ota_firmware` ( `id` bigint NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL DEFAULT '', `product_id` bigint NOT NULL, `version` varchar(50) NOT NULL DEFAULT '', `description` varchar(500) DEFAULT NULL, `file_url` varchar(500) DEFAULT NULL, `file_size` bigint NOT NULL DEFAULT '0', `status` tinyint NOT NULL DEFAULT '0', `creator` varchar(64) DEFAULT '', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `updater` varchar(64) DEFAULT '', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `deleted` tinyint(1) NOT NULL DEFAULT '0', `tenant_id` bigint NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) COMMENT='IoT OTA 固件表'; CREATE TABLE IF NOT EXISTS `iot_ota_task` ( `id` bigint NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL DEFAULT '', `firmware_id` bigint NOT NULL, `product_id` bigint NOT NULL, `upgrade_type` tinyint NOT NULL DEFAULT '0', `status` tinyint NOT NULL DEFAULT '0', `creator` varchar(64) DEFAULT '', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `updater` varchar(64) DEFAULT '', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `deleted` tinyint(1) NOT NULL DEFAULT '0', `tenant_id` bigint NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) COMMENT='IoT OTA 升级任务表'; CREATE TABLE IF NOT EXISTS `iot_ota_record` ( `id` bigint NOT NULL AUTO_INCREMENT, `task_id` bigint NOT NULL, `firmware_id` bigint NOT NULL, `device_id` bigint NOT NULL, `status` tinyint NOT NULL DEFAULT '0', `progress` int NOT NULL DEFAULT '0', `error_msg` varchar(500) DEFAULT NULL, `start_time` timestamp DEFAULT NULL, `end_time` timestamp DEFAULT NULL, `creator` varchar(64) DEFAULT '', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `updater` varchar(64) DEFAULT '', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `deleted` tinyint(1) NOT NULL DEFAULT '0', `tenant_id` bigint NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) COMMENT='IoT OTA 升级记录表'; -- 额外添加设备分组表 CREATE TABLE IF NOT EXISTS `iot_device_group` ( `id` bigint NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL DEFAULT '', `description` varchar(500) DEFAULT NULL, `creator` varchar(64) DEFAULT '', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `updater` varchar(64) DEFAULT '', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `deleted` tinyint(1) NOT NULL DEFAULT '0', `tenant_id` bigint NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) COMMENT='IoT 设备分组表'; -- 额外添加产品分类表 CREATE TABLE IF NOT EXISTS `iot_product_category` ( `id` bigint NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL DEFAULT '', `parent_id` bigint DEFAULT NULL, `description` varchar(500) DEFAULT NULL, `creator` varchar(64) DEFAULT '', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `updater` varchar(64) DEFAULT '', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `deleted` tinyint(1) NOT NULL DEFAULT '0', `tenant_id` bigint NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) COMMENT='IoT 产品分类表'; -- 额外添加数据规则表 CREATE TABLE IF NOT EXISTS `iot_data_rule` ( `id` bigint NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL DEFAULT '', `description` varchar(500) DEFAULT NULL, `status` tinyint NOT NULL DEFAULT '0', `rule_config` text, `creator` varchar(64) DEFAULT '', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `updater` varchar(64) DEFAULT '', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `deleted` tinyint(1) NOT NULL DEFAULT '0', `tenant_id` bigint NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) COMMENT='IoT 数据规则表'; -- 额外添加数据 sink 表 CREATE TABLE IF NOT EXISTS `iot_data_sink` ( `id` bigint NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL DEFAULT '', `type` tinyint NOT NULL DEFAULT '0', `config` text, `status` tinyint NOT NULL DEFAULT '0', `creator` varchar(64) DEFAULT '', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `updater` varchar(64) DEFAULT '', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `deleted` tinyint(1) NOT NULL DEFAULT '0', `tenant_id` bigint NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) COMMENT='IoT 数据输出表';