60 lines
2.8 KiB
SQL
60 lines
2.8 KiB
SQL
-- 一、为iot_modbus_job表添加execute_time字段
|
||
-- 用于记录设备上电触发任务的执行时间
|
||
|
||
ALTER TABLE `iot_modbus_job`
|
||
ADD COLUMN `execute_time` datetime NULL DEFAULT NULL COMMENT '执行时间(仅设备上电触发任务使用,记录任务执行的时间)' AFTER `remark`;
|
||
|
||
-- 二. 在字典表中添加"文档"类型,用于首页公告下载pdf等文档
|
||
INSERT INTO `sys_dict_data` VALUES (NULL, 3, '文档', '3', 'sys_notice_type', '', 'info', 'N', '0', 'admin', NOW(), '', NULL, '文档类型');
|
||
|
||
-- 2. 在 sys_notice 表中添加文件路径字段
|
||
ALTER TABLE `sys_notice` ADD COLUMN `file_path` VARCHAR(500) NULL COMMENT '文件路径(文档类型使用)' AFTER `notice_content`;
|
||
|
||
-- 检查表结构
|
||
SELECT * FROM sys_dict_data_translate WHERE id = 738;
|
||
|
||
-- 如果没有记录,插入翻译数据
|
||
INSERT INTO sys_dict_data_translate (id, zh_cn, en_us)
|
||
VALUES (738, '文档', 'Document')
|
||
ON DUPLICATE KEY UPDATE zh_cn = '文档', en_us = 'Document';
|
||
|
||
|
||
-- 三、物模型改造:添加纯计算物模型标识字段
|
||
-- is_calculated: 0=设备上报(默认),1=纯计算(计算公式包含{}),2=其他(预留扩展)
|
||
ALTER TABLE `iot_things_model`
|
||
ADD COLUMN `is_calculated` tinyint(1) NOT NULL DEFAULT 0
|
||
COMMENT '物模型来源类型(0-设备上报,1-纯计算,2-其他预留)'
|
||
AFTER `formula`;
|
||
|
||
-- 为已有数据设置 is_calculated:如果公式包含{},则设置为1(纯计算)
|
||
UPDATE `iot_things_model`
|
||
SET `is_calculated` = 1
|
||
WHERE `formula` IS NOT NULL
|
||
AND `formula` != ''
|
||
AND `formula` LIKE '%{%}%'
|
||
AND `del_flag` = '0';
|
||
|
||
-- 1. 添加 device_id 字段(默认为0,表示产品级物模型)
|
||
ALTER TABLE `iot_things_model`
|
||
ADD COLUMN `device_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '设备ID,0表示产品级物模型,>0表示设备级计算物模型' AFTER `product_name`;
|
||
|
||
-- 2. 添加 serial_number 字段
|
||
ALTER TABLE `iot_things_model`
|
||
ADD COLUMN `serial_number` varchar(64) NULL DEFAULT NULL COMMENT '设备编号' AFTER `device_id`;
|
||
|
||
-- 3. 添加索引(设备编号索引)
|
||
ALTER TABLE `iot_things_model` ADD INDEX `idx_calculated_serial` (`is_calculated`, `serial_number`);
|
||
|
||
-- ==============================================================================
|
||
|
||
-- 日期:2026-01-30
|
||
-- 1. 添加产品ID字段
|
||
ALTER TABLE command_preferences ADD COLUMN product_id BIGINT(20) DEFAULT NULL COMMENT '产品ID' AFTER serial_number;
|
||
|
||
-- 2. 为产品ID添加索引,提升查询性能
|
||
CREATE INDEX idx_command_preferences_product_id ON command_preferences(product_id);
|
||
|
||
-- 说明:
|
||
-- product_id 有值 → 产品指令(同类产品的所有设备通用)
|
||
-- serial_number 有值 → 设备指令(仅当前设备可见)
|
||
-- 查询时通过 serial_number 或 product_id 字段是否有值来区分指令类型 |