-- 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);