Files
aiot-platform-cloud/sql/iot/V2.0.2__iot_subsystem.sql

40 lines
1.6 KiB
MySQL
Raw Normal View History

-- B10: iot_project + iot_subsystem 表创建
-- 版本: V2.0.2
CREATE TABLE IF NOT EXISTS iot_project (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(128) NOT NULL,
description TEXT,
icon VARCHAR(256),
status TINYINT NOT NULL DEFAULT 1,
sort INT DEFAULT 0,
tenant_id BIGINT NOT NULL,
creator VARCHAR(64),
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
updater VARCHAR(64),
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
deleted BIT NOT NULL DEFAULT b'0',
UNIQUE KEY uk_name (name, tenant_id, deleted)
) COMMENT='项目(架构预留,本期不开放 API';
CREATE TABLE IF NOT EXISTS iot_subsystem (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(128) NOT NULL,
code VARCHAR(64) NOT NULL,
description TEXT,
icon VARCHAR(256),
status TINYINT NOT NULL DEFAULT 1,
sort INT DEFAULT 0,
project_id BIGINT COMMENT '预留(允许 NULL',
config JSON,
tenant_id BIGINT NOT NULL,
creator VARCHAR(64),
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
updater VARCHAR(64),
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
deleted BIT NOT NULL DEFAULT b'0',
-- 【评审 A4】加 project_id 维度MySQL NULL 不参与 UK 唯一性 → 应用层兜底
UNIQUE KEY uk_name (name, tenant_id, project_id, deleted),
UNIQUE KEY uk_code (code, tenant_id, project_id, deleted)
) COMMENT='子系统';