纳入范围: - backend/ Spring Boot 多模块后端(iot-common/device/rule/data/alarm/auth) - frontend/admin/ Vue3 + Element Plus 管理后台 - Android/ 涂鸦原生 APP (com.xhai.iot) - backend/sql/ Flyway 风格迁移脚本(V2~V21) - docs/ 对接文档与设计文档 排除范围: - 构建产物: node_modules/ target/ build/ dist/ .gradle/ - 签名密钥: *.jks *.keystore (严禁入库) - 本机配置: Android/local.properties - 运行日志: logs/ *.log - AI 协作本地数据 .codebuddy/ 与第三方 demo tuya-demo/ .gitattributes 统一以 LF 存储, Windows 批处理保留 CRLF
41 lines
2.1 KiB
SQL
41 lines
2.1 KiB
SQL
-- V9: 新增场景(Scene)模型
|
|
-- 场景是"一组联动规则"的容器/编排,支持"一键执行"和"自动化联动"两类。
|
|
-- 一个场景下可关联多条规则(linkage_rule.scene_id),规则表已有完整能力。
|
|
|
|
-- 1. 新增场景表
|
|
CREATE TABLE IF NOT EXISTS scene (
|
|
id BIGINT NOT NULL AUTO_INCREMENT COMMENT '场景ID',
|
|
scene_name VARCHAR(128) NOT NULL COMMENT '场景名称',
|
|
scene_code VARCHAR(64) DEFAULT NULL COMMENT '场景编码(可选唯一)',
|
|
scene_type VARCHAR(16) DEFAULT 'automation' COMMENT '场景类型: one_click-一键执行 / automation-自动化联动',
|
|
icon VARCHAR(255) DEFAULT NULL COMMENT '场景图标URL',
|
|
description VARCHAR(512) DEFAULT NULL COMMENT '场景描述',
|
|
enabled TINYINT DEFAULT 1 COMMENT '是否启用(0-禁用,1-启用)',
|
|
sort_order INT DEFAULT 0 COMMENT '排序',
|
|
tenant_id BIGINT DEFAULT NULL COMMENT '租户ID',
|
|
owner_id BIGINT DEFAULT 0 COMMENT '场景归属用户ID(member.id), 0表示公共场景',
|
|
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
deleted TINYINT DEFAULT 0 COMMENT '逻辑删除(0-正常,1-删除)',
|
|
create_by BIGINT DEFAULT NULL COMMENT '创建人',
|
|
update_by BIGINT DEFAULT NULL COMMENT '更新人',
|
|
PRIMARY KEY (id),
|
|
UNIQUE KEY uk_scene_code (scene_code),
|
|
KEY idx_scene_owner (owner_id),
|
|
KEY idx_scene_type (scene_type),
|
|
KEY idx_scene_enabled (enabled)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='场景表';
|
|
|
|
-- 2. linkage_rule 关联场景
|
|
ALTER TABLE linkage_rule
|
|
ADD COLUMN scene_id BIGINT DEFAULT NULL COMMENT '所属场景ID(空表示独立规则)' AFTER id;
|
|
|
|
ALTER TABLE linkage_rule
|
|
ADD COLUMN description VARCHAR(512) DEFAULT NULL COMMENT '规则描述' AFTER rule_name;
|
|
|
|
ALTER TABLE linkage_rule
|
|
ADD COLUMN priority INT DEFAULT 0 COMMENT '规则优先级(高者优先)' AFTER enabled;
|
|
|
|
ALTER TABLE linkage_rule
|
|
ADD KEY idx_rule_scene (scene_id);
|