21 lines
1.3 KiB
SQL
21 lines
1.3 KiB
SQL
-- 离线待下发指令(设备上线后自动执行 FUNCTION_GET 等)
|
||
-- 执行:在目标库中运行本脚本一次
|
||
|
||
CREATE TABLE IF NOT EXISTS `iot_device_deferred_command` (
|
||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||
`serial_number` varchar(64) NOT NULL COMMENT '设备编号',
|
||
`topic_name` varchar(255) NOT NULL COMMENT '原始 topic,如 /function/get',
|
||
`message_hex` varchar(8192) DEFAULT NULL COMMENT '下发内容(十六进制字符串)',
|
||
`data_type` varchar(32) DEFAULT NULL COMMENT '数据类型,如 hex',
|
||
`task_type` tinyint NOT NULL DEFAULT '1' COMMENT '任务类型:1=FUNCTION_GET',
|
||
`status` tinyint NOT NULL DEFAULT '0' COMMENT '0=待执行 1=执行中 2=成功 3=失败',
|
||
`payload_hash` varchar(64) NOT NULL COMMENT '去重哈希',
|
||
`err_msg` varchar(512) DEFAULT NULL COMMENT '失败原因',
|
||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||
`expire_time` datetime DEFAULT NULL COMMENT '过期时间',
|
||
`dispatch_time` datetime DEFAULT NULL COMMENT '实际下发时间',
|
||
PRIMARY KEY (`id`),
|
||
KEY `idx_serial_status` (`serial_number`,`status`),
|
||
KEY `idx_serial_hash_pending` (`serial_number`,`payload_hash`,`status`,`expire_time`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='设备离线待下发指令';
|