You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
iot/projects/Platform/db.sql

724 lines
32 KiB

CREATE TABLE `AppModule` (
`Id` char(36) NOT NULL COMMENT 'Id',
`Name` longtext CHARACTER SET utf8mb4 NOT NULL COMMENT 'Name',
`Number` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Number',
`Url` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Url',
`Order` int NOT NULL COMMENT 'Order',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
CONSTRAINT `PK_AppModule` PRIMARY KEY (`Id`)
) COMMENT '模块';
CREATE TABLE `Area` (
`Id` char(36) NOT NULL COMMENT 'Id',
`Type` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Type',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
`Name` longtext CHARACTER SET utf8mb4 NOT NULL COMMENT 'Name',
`Number` varchar(255) CHARACTER SET utf8mb4 NOT NULL COMMENT 'Number',
`Order` int NOT NULL COMMENT 'Order',
`Left` int NOT NULL COMMENT 'Left',
`Right` int NOT NULL COMMENT 'Right',
`ParentId` char(36) NULL COMMENT 'ParentId',
CONSTRAINT `PK_Area` PRIMARY KEY (`Id`),
CONSTRAINT `FK_Area_Area_ParentId` FOREIGN KEY (`ParentId`) REFERENCES `Area` (`Id`) ON DELETE RESTRICT
) COMMENT '区域';
CREATE TABLE `DictionaryCategory` (
`Id` char(36) NOT NULL COMMENT 'Id',
`Name` longtext CHARACTER SET utf8mb4 NOT NULL COMMENT 'Name',
`Key` varchar(255) CHARACTER SET utf8mb4 NOT NULL COMMENT 'Key',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
CONSTRAINT `PK_DictionaryCategory` PRIMARY KEY (`Id`)
) COMMENT '字典分类';
CREATE TABLE `IoTProductCategory` (
`Id` char(36) NOT NULL COMMENT 'Id',
`Image` longtext CHARACTER SET utf8mb4 NULL COMMENT '分类图标',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
`Name` longtext CHARACTER SET utf8mb4 NOT NULL COMMENT 'Name',
`Number` varchar(255) CHARACTER SET utf8mb4 NOT NULL COMMENT 'Number',
`Order` int NOT NULL COMMENT 'Order',
`Left` int NOT NULL COMMENT 'Left',
`Right` int NOT NULL COMMENT 'Right',
`ParentId` char(36) NULL COMMENT 'ParentId',
CONSTRAINT `PK_IoTProductCategory` PRIMARY KEY (`Id`),
CONSTRAINT `FK_IoTProductCategory_IoTProductCategory_ParentId` FOREIGN KEY (`ParentId`) REFERENCES `IoTProductCategory` (`Id`) ON DELETE RESTRICT
) COMMENT '分类';
CREATE TABLE `LiveRecord` (
`Id` char(36) NOT NULL COMMENT 'Id',
`DeviceNumber` longtext CHARACTER SET utf8mb4 NOT NULL COMMENT 'DeviceNumber',
`DeviceName` longtext CHARACTER SET utf8mb4 NULL COMMENT 'DeviceName',
`Name` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Name',
`Value` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Value',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
CONSTRAINT `PK_LiveRecord` PRIMARY KEY (`Id`)
) COMMENT '录像';
CREATE TABLE `Setting` (
`Id` char(36) NOT NULL COMMENT 'Id',
`Name` varchar(255) CHARACTER SET utf8mb4 NOT NULL COMMENT 'Name',
`Value` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Value',
`Type` int NOT NULL COMMENT 'Type',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
CONSTRAINT `PK_Setting` PRIMARY KEY (`Id`)
) COMMENT '配置';
CREATE TABLE `Site` (
`Id` char(36) NOT NULL COMMENT 'Id',
`Name` varchar(255) CHARACTER SET utf8mb4 NOT NULL COMMENT 'Name',
`Icon` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Icon',
`Description` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Description',
`Key` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Key',
`Home` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Home',
`Login` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Login',
`Logout` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Logout',
`Disabled` tinyint(1) NOT NULL COMMENT 'Disabled',
`Order` int NOT NULL COMMENT 'Order',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
CONSTRAINT `PK_Site` PRIMARY KEY (`Id`)
) COMMENT '应用';
CREATE TABLE `Statistic` (
`Id` char(36) NOT NULL COMMENT 'Id',
`Key` varchar(255) CHARACTER SET utf8mb4 NULL COMMENT 'Key',
`Value` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Value',
`IntValue` int NULL COMMENT 'IntValue',
`DoubleValue` double NULL COMMENT 'DoubleValue',
`DateTimeValue` datetime(6) NULL COMMENT 'DateTimeValue',
`Type` int NOT NULL COMMENT 'Type',
`UpdateAt` datetime(6) NOT NULL COMMENT 'UpdateAt',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
CONSTRAINT `PK_Statistic` PRIMARY KEY (`Id`)
) COMMENT '数据统计';
CREATE TABLE `User` (
`Id` char(36) NOT NULL COMMENT 'Id',
`UserName` varchar(255) CHARACTER SET utf8mb4 NOT NULL COMMENT 'UserName',
`SecurityStamp` longtext CHARACTER SET utf8mb4 NULL COMMENT 'SecurityStamp',
`PasswordHash` longtext CHARACTER SET utf8mb4 NULL COMMENT 'PasswordHash',
`PasswordConfirmed` tinyint(1) NOT NULL COMMENT 'PasswordConfirmed',
`Email` varchar(255) CHARACTER SET utf8mb4 NULL COMMENT 'Email',
`EmailConfirmed` tinyint(1) NOT NULL COMMENT 'EmailConfirmed',
`PhoneNumber` varchar(255) CHARACTER SET utf8mb4 NULL COMMENT 'PhoneNumber',
`PhoneNumberConfirmed` tinyint(1) NOT NULL COMMENT 'PhoneNumberConfirmed',
`RealName` longtext CHARACTER SET utf8mb4 NULL COMMENT 'RealName',
`IdentityNumber` longtext CHARACTER SET utf8mb4 NULL COMMENT 'IdentityNumber',
`IdentityConfirmed` tinyint(1) NOT NULL COMMENT 'IdentityConfirmed',
`NickName` longtext CHARACTER SET utf8mb4 NULL COMMENT 'NickName',
`Avatar` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Avatar',
`Sex` int NULL COMMENT 'Sex',
`Birthday` datetime(6) NULL COMMENT 'Birthday',
`LockoutEnabled` tinyint(1) NOT NULL COMMENT 'LockoutEnabled',
`AccessFailedCount` int NOT NULL COMMENT 'AccessFailedCount',
`LockoutEnd` datetime(6) NULL COMMENT 'LockoutEnd',
`RowVersion` longtext CHARACTER SET utf8mb4 NULL COMMENT 'RowVersion',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
CONSTRAINT `PK_User` PRIMARY KEY (`Id`)
) COMMENT '用户';
CREATE TABLE `PermissionCategory` (
`Id` char(36) NOT NULL COMMENT 'Id',
`AppModuleId` char(36) NULL COMMENT 'AppModuleId',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
`Name` longtext CHARACTER SET utf8mb4 NOT NULL COMMENT 'Name',
`Number` longtext CHARACTER SET utf8mb4 NOT NULL COMMENT 'Number',
`Order` int NOT NULL COMMENT 'Order',
`Left` int NOT NULL COMMENT 'Left',
`Right` int NOT NULL COMMENT 'Right',
`ParentId` char(36) NULL COMMENT 'ParentId',
CONSTRAINT `PK_PermissionCategory` PRIMARY KEY (`Id`),
CONSTRAINT `FK_PermissionCategory_AppModule_AppModuleId` FOREIGN KEY (`AppModuleId`) REFERENCES `AppModule` (`Id`) ON DELETE CASCADE,
CONSTRAINT `FK_PermissionCategory_PermissionCategory_ParentId` FOREIGN KEY (`ParentId`) REFERENCES `PermissionCategory` (`Id`) ON DELETE RESTRICT
) COMMENT '权限分类';
CREATE TABLE `Organ` (
`Id` char(36) NOT NULL COMMENT 'Id',
`Type` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Type',
`Image` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Image',
`Description` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Description',
`AreaId` char(36) NULL COMMENT 'AreaId',
`IsReadOnly` tinyint(1) NOT NULL COMMENT 'IsReadOnly',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
`Name` varchar(255) CHARACTER SET utf8mb4 NOT NULL COMMENT 'Name',
`Number` varchar(255) CHARACTER SET utf8mb4 NOT NULL COMMENT 'Number',
`Order` int NOT NULL COMMENT 'Order',
`Left` int NOT NULL COMMENT 'Left',
`Right` int NOT NULL COMMENT 'Right',
`ParentId` char(36) NULL COMMENT 'ParentId',
CONSTRAINT `PK_Organ` PRIMARY KEY (`Id`),
CONSTRAINT `FK_Organ_Area_AreaId` FOREIGN KEY (`AreaId`) REFERENCES `Area` (`Id`) ON DELETE SET NULL,
CONSTRAINT `FK_Organ_Organ_ParentId` FOREIGN KEY (`ParentId`) REFERENCES `Organ` (`Id`) ON DELETE RESTRICT
) COMMENT '机构';
CREATE TABLE `DictionaryItem` (
`Id` char(36) NOT NULL COMMENT 'Id',
`Name` longtext CHARACTER SET utf8mb4 NOT NULL COMMENT 'Name',
`Value` varchar(255) CHARACTER SET utf8mb4 NOT NULL COMMENT 'Value',
`Order` int NOT NULL COMMENT 'Order',
`CategoryId` char(36) NOT NULL COMMENT 'CategoryId',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
CONSTRAINT `PK_DictionaryItem` PRIMARY KEY (`Id`),
CONSTRAINT `FK_DictionaryItem_DictionaryCategory_CategoryId` FOREIGN KEY (`CategoryId`) REFERENCES `DictionaryCategory` (`Id`) ON DELETE CASCADE
) COMMENT '字典';
CREATE TABLE `IoTProduct` (
`Id` char(36) NOT NULL COMMENT 'Id',
`Name` longtext CHARACTER SET utf8mb4 NULL COMMENT '产品名称',
`Number` varchar(255) CHARACTER SET utf8mb4 NOT NULL COMMENT '产品型号',
`Image` longtext CHARACTER SET utf8mb4 NULL COMMENT '图标',
`Template` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Template',
`Path` longtext CHARACTER SET utf8mb4 NULL COMMENT '路径',
`ApiJson` longtext CHARACTER SET utf8mb4 NULL COMMENT 'ApiJson',
`Order` int NOT NULL COMMENT '序号',
`IoTProductCategoryId` char(36) NULL COMMENT 'IoTProductCategoryId',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
CONSTRAINT `PK_IoTProduct` PRIMARY KEY (`Id`),
CONSTRAINT `FK_IoTProduct_IoTProductCategory_IoTProductCategoryId` FOREIGN KEY (`IoTProductCategoryId`) REFERENCES `IoTProductCategory` (`Id`) ON DELETE SET NULL
) COMMENT '产品';
CREATE TABLE `Permission` (
`Id` char(36) NOT NULL COMMENT 'Id',
`Name` longtext CHARACTER SET utf8mb4 NOT NULL COMMENT 'Name',
`Number` varchar(255) CHARACTER SET utf8mb4 NOT NULL COMMENT 'Number',
`IsReadOnly` tinyint(1) NOT NULL COMMENT 'IsReadOnly',
`Hide` tinyint(1) NOT NULL COMMENT 'Hide',
`Type` int NOT NULL COMMENT 'Type',
`CategoryId` char(36) NULL COMMENT 'CategoryId',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
CONSTRAINT `PK_Permission` PRIMARY KEY (`Id`),
CONSTRAINT `FK_Permission_PermissionCategory_CategoryId` FOREIGN KEY (`CategoryId`) REFERENCES `PermissionCategory` (`Id`) ON DELETE SET NULL
) COMMENT '权限';
CREATE TABLE `Building` (
`Id` char(36) NOT NULL COMMENT 'Id',
`Type` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Type',
`Image` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Image',
`Description` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Description',
`OrganId` char(36) NOT NULL COMMENT 'OrganId',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
`Name` longtext CHARACTER SET utf8mb4 NOT NULL COMMENT 'Name',
`Number` varchar(255) CHARACTER SET utf8mb4 NOT NULL COMMENT 'Number',
`Order` int NOT NULL COMMENT 'Order',
`Left` int NOT NULL COMMENT 'Left',
`Right` int NOT NULL COMMENT 'Right',
`ParentId` char(36) NULL COMMENT 'ParentId',
CONSTRAINT `PK_Building` PRIMARY KEY (`Id`),
CONSTRAINT `FK_Building_Building_ParentId` FOREIGN KEY (`ParentId`) REFERENCES `Building` (`Id`) ON DELETE RESTRICT,
CONSTRAINT `FK_Building_Organ_OrganId` FOREIGN KEY (`OrganId`) REFERENCES `Organ` (`Id`) ON DELETE CASCADE
) COMMENT '房间';
CREATE TABLE `Department` (
`Id` char(36) NOT NULL COMMENT 'Id',
`Type` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Type',
`OrganId` char(36) NOT NULL COMMENT 'OrganId',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
`Name` longtext CHARACTER SET utf8mb4 NOT NULL COMMENT 'Name',
`Number` varchar(255) CHARACTER SET utf8mb4 NOT NULL COMMENT 'Number',
`Order` int NOT NULL COMMENT 'Order',
`Left` int NOT NULL COMMENT 'Left',
`Right` int NOT NULL COMMENT 'Right',
`ParentId` char(36) NULL COMMENT 'ParentId',
CONSTRAINT `PK_Department` PRIMARY KEY (`Id`),
CONSTRAINT `FK_Department_Department_ParentId` FOREIGN KEY (`ParentId`) REFERENCES `Department` (`Id`) ON DELETE RESTRICT,
CONSTRAINT `FK_Department_Organ_OrganId` FOREIGN KEY (`OrganId`) REFERENCES `Organ` (`Id`) ON DELETE CASCADE
) COMMENT '部门';
CREATE TABLE `OrganUser` (
`Id` char(36) NOT NULL COMMENT 'Id',
`Type` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Type',
`OrganId` char(36) NOT NULL COMMENT 'OrganId',
`UserId` char(36) NOT NULL COMMENT 'UserId',
`IsDefault` tinyint(1) NOT NULL COMMENT 'IsDefault',
`IsReadOnly` tinyint(1) NOT NULL COMMENT 'IsReadOnly',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
CONSTRAINT `PK_OrganUser` PRIMARY KEY (`Id`),
CONSTRAINT `FK_OrganUser_Organ_OrganId` FOREIGN KEY (`OrganId`) REFERENCES `Organ` (`Id`) ON DELETE CASCADE,
CONSTRAINT `FK_OrganUser_User_UserId` FOREIGN KEY (`UserId`) REFERENCES `User` (`Id`) ON DELETE CASCADE
) COMMENT '机构用户';
CREATE TABLE `Role` (
`Id` char(36) NOT NULL COMMENT 'Id',
`Name` longtext CHARACTER SET utf8mb4 NOT NULL COMMENT 'Name',
`Number` varchar(255) CHARACTER SET utf8mb4 NOT NULL COMMENT 'Number',
`IsReadOnly` tinyint(1) NOT NULL COMMENT 'IsReadOnly',
`OrganId` char(36) NOT NULL COMMENT 'OrganId',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
CONSTRAINT `PK_Role` PRIMARY KEY (`Id`),
CONSTRAINT `FK_Role_Organ_OrganId` FOREIGN KEY (`OrganId`) REFERENCES `Organ` (`Id`) ON DELETE CASCADE
) COMMENT '角色';
CREATE TABLE `Title` (
`Id` char(36) NOT NULL COMMENT 'Id',
`Name` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Name',
`MinLevel` int NOT NULL COMMENT 'MinLevel',
`MaxLevel` int NOT NULL COMMENT 'MaxLevel',
`OrganId` char(36) NOT NULL COMMENT 'OrganId',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
CONSTRAINT `PK_Title` PRIMARY KEY (`Id`),
CONSTRAINT `FK_Title_Organ_OrganId` FOREIGN KEY (`OrganId`) REFERENCES `Organ` (`Id`) ON DELETE CASCADE
) COMMENT '职务';
CREATE TABLE `IoTApi` (
`Id` char(36) NOT NULL COMMENT 'Id',
`Name` varchar(255) CHARACTER SET utf8mb4 NULL COMMENT 'Name',
`Path` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Path',
`Command` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Command',
`Method` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Method',
`IoTProductId` char(36) NOT NULL COMMENT 'IoTProductId',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
CONSTRAINT `PK_IoTApi` PRIMARY KEY (`Id`),
CONSTRAINT `FK_IoTApi_IoTProduct_IoTProductId` FOREIGN KEY (`IoTProductId`) REFERENCES `IoTProduct` (`Id`) ON DELETE CASCADE
) COMMENT '接口';
CREATE TABLE `IoTGateway` (
`Id` char(36) NOT NULL COMMENT 'Id',
`Name` longtext CHARACTER SET utf8mb4 NULL COMMENT '节点名称',
`Number` varchar(255) CHARACTER SET utf8mb4 NOT NULL COMMENT '节点编号',
`IsOnline` tinyint(1) NOT NULL COMMENT '在线',
`Image` longtext CHARACTER SET utf8mb4 NULL COMMENT '图片',
`Version` longtext CHARACTER SET utf8mb4 NULL COMMENT '版本',
`Password` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Password',
`Order` int NOT NULL COMMENT '序号',
`Hidden` tinyint(1) NOT NULL COMMENT '隐藏',
`BuildingId` char(36) NULL COMMENT 'BuildingId',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
CONSTRAINT `PK_IoTGateway` PRIMARY KEY (`Id`),
CONSTRAINT `FK_IoTGateway_Building_BuildingId` FOREIGN KEY (`BuildingId`) REFERENCES `Building` (`Id`) ON DELETE SET NULL
) COMMENT '网关';
CREATE TABLE `IoTScene` (
`Id` char(36) NOT NULL COMMENT 'Id',
`Name` longtext CHARACTER SET utf8mb4 NOT NULL COMMENT '名称',
`Image` longtext CHARACTER SET utf8mb4 NOT NULL COMMENT '图标',
`Hidden` tinyint(1) NOT NULL COMMENT '隐藏',
`Order` int NOT NULL COMMENT '序号',
`BuildingId` char(36) NOT NULL COMMENT 'BuildingId',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
CONSTRAINT `PK_IoTScene` PRIMARY KEY (`Id`),
CONSTRAINT `FK_IoTScene_Building_BuildingId` FOREIGN KEY (`BuildingId`) REFERENCES `Building` (`Id`) ON DELETE CASCADE
) COMMENT '机构场景';
CREATE TABLE `OrganUserRole` (
`Id` char(36) NOT NULL COMMENT 'Id',
`IsReadOnly` tinyint(1) NOT NULL COMMENT 'IsReadOnly',
`OrganUserId` char(36) NOT NULL COMMENT 'OrganUserId',
`OrganRoleId` char(36) NOT NULL COMMENT 'OrganRoleId',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
CONSTRAINT `PK_OrganUserRole` PRIMARY KEY (`Id`),
CONSTRAINT `FK_OrganUserRole_OrganUser_OrganUserId` FOREIGN KEY (`OrganUserId`) REFERENCES `OrganUser` (`Id`) ON DELETE CASCADE,
CONSTRAINT `FK_OrganUserRole_Role_OrganRoleId` FOREIGN KEY (`OrganRoleId`) REFERENCES `Role` (`Id`) ON DELETE CASCADE
) COMMENT '用户角色';
CREATE TABLE `RolePermission` (
`Id` char(36) NOT NULL COMMENT 'Id',
`RoleId` char(36) NOT NULL COMMENT 'RoleId',
`PermissionId` char(36) NOT NULL COMMENT 'PermissionId',
`IsReadOnly` tinyint(1) NOT NULL COMMENT 'IsReadOnly',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
CONSTRAINT `PK_RolePermission` PRIMARY KEY (`Id`),
CONSTRAINT `FK_RolePermission_Permission_PermissionId` FOREIGN KEY (`PermissionId`) REFERENCES `Permission` (`Id`) ON DELETE CASCADE,
CONSTRAINT `FK_RolePermission_Role_RoleId` FOREIGN KEY (`RoleId`) REFERENCES `Role` (`Id`) ON DELETE CASCADE
) COMMENT '角色权限';
CREATE TABLE `Job` (
`Id` char(36) NOT NULL COMMENT 'Id',
`Name` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Name',
`Level` int NOT NULL COMMENT 'Level',
`TitleId` char(36) NOT NULL COMMENT 'TitleId',
`DepartmentId` char(36) NOT NULL COMMENT 'DepartmentId',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
CONSTRAINT `PK_Job` PRIMARY KEY (`Id`),
CONSTRAINT `FK_Job_Department_DepartmentId` FOREIGN KEY (`DepartmentId`) REFERENCES `Department` (`Id`) ON DELETE CASCADE,
CONSTRAINT `FK_Job_Title_TitleId` FOREIGN KEY (`TitleId`) REFERENCES `Title` (`Id`) ON DELETE CASCADE
) COMMENT '职位';
CREATE TABLE `IoTParameter` (
`Id` char(36) NOT NULL COMMENT 'Id',
`Type` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Type',
`Name` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Name',
`Description` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Description',
`Required` tinyint(1) NOT NULL COMMENT 'Required',
`Maxinum` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Maxinum',
`Minimum` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Minimum',
`IoTApiId` char(36) NOT NULL COMMENT 'IoTApiId',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
CONSTRAINT `PK_IoTParameter` PRIMARY KEY (`Id`),
CONSTRAINT `FK_IoTParameter_IoTApi_IoTApiId` FOREIGN KEY (`IoTApiId`) REFERENCES `IoTApi` (`Id`) ON DELETE CASCADE
) COMMENT '参数';
CREATE TABLE `IoTDevice` (
`Id` char(36) NOT NULL COMMENT 'Id',
`Name` longtext CHARACTER SET utf8mb4 NULL COMMENT '名称',
`Number` varchar(255) CHARACTER SET utf8mb4 NOT NULL COMMENT '编号',
`Gateway` longtext CHARACTER SET utf8mb4 NULL COMMENT '网关编号',
`DisplayName` longtext CHARACTER SET utf8mb4 NOT NULL COMMENT '显示名称',
`Tag` longtext CHARACTER SET utf8mb4 NULL COMMENT '标记',
`IsOnline` tinyint(1) NOT NULL COMMENT '在线状态',
`Icon` longtext CHARACTER SET utf8mb4 NULL COMMENT '图标',
`Ip` longtext CHARACTER SET utf8mb4 NULL COMMENT 'IP',
`UserName` longtext CHARACTER SET utf8mb4 NULL COMMENT '用户名',
`Password` longtext CHARACTER SET utf8mb4 NULL COMMENT '密码',
`ConnectId` longtext CHARACTER SET utf8mb4 NULL COMMENT '连接Id',
`Order` int NOT NULL COMMENT '序号',
`Disabled` tinyint(1) NOT NULL COMMENT '隐藏',
`IoTProductId` char(36) NOT NULL COMMENT '产品Id',
`IoTGatewayId` char(36) NOT NULL COMMENT '节点Id',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
CONSTRAINT `PK_IoTDevice` PRIMARY KEY (`Id`),
CONSTRAINT `FK_IoTDevice_IoTGateway_IoTGatewayId` FOREIGN KEY (`IoTGatewayId`) REFERENCES `IoTGateway` (`Id`) ON DELETE CASCADE,
CONSTRAINT `FK_IoTDevice_IoTProduct_IoTProductId` FOREIGN KEY (`IoTProductId`) REFERENCES `IoTProduct` (`Id`) ON DELETE CASCADE
) COMMENT '设备';
CREATE TABLE `IoTTimer` (
`Id` char(36) NOT NULL COMMENT 'Id',
`Name` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Name',
`Cron` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Cron',
`Disabled` tinyint(1) NOT NULL COMMENT '禁用',
`IoTSceneId` char(36) NOT NULL COMMENT 'IoTSceneId',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
CONSTRAINT `PK_IoTTimer` PRIMARY KEY (`Id`),
CONSTRAINT `FK_IoTTimer_IoTScene_IoTSceneId` FOREIGN KEY (`IoTSceneId`) REFERENCES `IoTScene` (`Id`) ON DELETE CASCADE
) COMMENT '定时器';
CREATE TABLE `DepartmentUser` (
`Id` char(36) NOT NULL COMMENT 'Id',
`Position` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Position',
`Type` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Type',
`OrganUserId` char(36) NOT NULL COMMENT 'OrganUserId',
`DeparementId` char(36) NOT NULL COMMENT 'DeparementId',
`JobId` char(36) NULL COMMENT 'JobId',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
CONSTRAINT `PK_DepartmentUser` PRIMARY KEY (`Id`),
CONSTRAINT `FK_DepartmentUser_Department_DeparementId` FOREIGN KEY (`DeparementId`) REFERENCES `Department` (`Id`) ON DELETE CASCADE,
CONSTRAINT `FK_DepartmentUser_Job_JobId` FOREIGN KEY (`JobId`) REFERENCES `Job` (`Id`) ON DELETE SET NULL,
CONSTRAINT `FK_DepartmentUser_OrganUser_OrganUserId` FOREIGN KEY (`OrganUserId`) REFERENCES `OrganUser` (`Id`) ON DELETE CASCADE
) COMMENT '部门用户';
CREATE TABLE `IoTCommand` (
`Id` char(36) NOT NULL COMMENT 'Id',
`Name` longtext CHARACTER SET utf8mb4 NULL COMMENT '命令名称',
`Order` int NOT NULL COMMENT '序号',
`Disabled` tinyint(1) NOT NULL COMMENT '隐藏',
`Delay` int NOT NULL COMMENT '延迟',
`QueryString` longtext CHARACTER SET utf8mb4 NULL COMMENT 'QueryString',
`ApiId` char(36) NOT NULL COMMENT 'ApiId',
`DeviceId` char(36) NOT NULL COMMENT 'DeviceId',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
CONSTRAINT `PK_IoTCommand` PRIMARY KEY (`Id`),
CONSTRAINT `FK_IoTCommand_IoTApi_ApiId` FOREIGN KEY (`ApiId`) REFERENCES `IoTApi` (`Id`) ON DELETE CASCADE,
CONSTRAINT `FK_IoTCommand_IoTDevice_DeviceId` FOREIGN KEY (`DeviceId`) REFERENCES `IoTDevice` (`Id`) ON DELETE CASCADE
) COMMENT '命令';
CREATE TABLE `IoTData` (
`Id` char(36) NOT NULL COMMENT 'Id',
`Key` longtext CHARACTER SET utf8mb4 NOT NULL COMMENT '',
`Value` longtext CHARACTER SET utf8mb4 NULL COMMENT '',
`IntValue` int NULL COMMENT 'IntValue',
`DoubleValue` double NULL COMMENT 'DoubleValue',
`DateTimeValue` datetime(6) NULL COMMENT 'DateTimeValue',
`EnumValues` longtext CHARACTER SET utf8mb4 NULL COMMENT '枚举候选值列表',
`Name` longtext CHARACTER SET utf8mb4 NULL COMMENT '名称',
`DataType` int NOT NULL COMMENT '数据分类',
`ValueType` int NOT NULL COMMENT '数值类型',
`ValueSchema` longtext CHARACTER SET utf8mb4 NULL COMMENT '对象模式',
`Unit` longtext CHARACTER SET utf8mb4 NULL COMMENT '单位',
`Description` longtext CHARACTER SET utf8mb4 NULL COMMENT '描述',
`Timestamp` bigint NOT NULL COMMENT '时间戳',
`Hidden` tinyint(1) NOT NULL COMMENT '隐藏',
`IoTDeviceId` char(36) NOT NULL COMMENT '设备Id',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
CONSTRAINT `PK_IoTData` PRIMARY KEY (`Id`),
CONSTRAINT `FK_IoTData_IoTDevice_IoTDeviceId` FOREIGN KEY (`IoTDeviceId`) REFERENCES `IoTDevice` (`Id`) ON DELETE CASCADE
) COMMENT '数据';
CREATE TABLE `IoTSceneIoTCommand` (
`Id` char(36) NOT NULL COMMENT 'Id',
`IoTSceneId` char(36) NOT NULL COMMENT 'IoTSceneId',
`IoTCommandId` char(36) NOT NULL COMMENT 'IoTCommandId',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
CONSTRAINT `PK_IoTSceneIoTCommand` PRIMARY KEY (`Id`),
CONSTRAINT `FK_IoTSceneIoTCommand_IoTCommand_IoTCommandId` FOREIGN KEY (`IoTCommandId`) REFERENCES `IoTCommand` (`Id`) ON DELETE CASCADE,
CONSTRAINT `FK_IoTSceneIoTCommand_IoTScene_IoTSceneId` FOREIGN KEY (`IoTSceneId`) REFERENCES `IoTScene` (`Id`) ON DELETE CASCADE
) COMMENT '场景命令';
CREATE TABLE `IoTTigger` (
`Id` char(36) NOT NULL COMMENT 'Id',
`Name` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Name',
`Type` int NOT NULL COMMENT 'Type',
`Condition` longtext CHARACTER SET utf8mb4 NULL COMMENT 'Condition',
`Start` datetime(6) NOT NULL COMMENT 'Start',
`End` datetime(6) NOT NULL COMMENT 'End',
`Disabled` tinyint(1) NOT NULL COMMENT '禁用',
`IoTDataId` char(36) NOT NULL COMMENT 'IoTDataId',
`IoTSceneId` char(36) NOT NULL COMMENT 'IoTSceneId',
`Created` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 'Created',
`Modified` datetime(6) NULL COMMENT 'Modified',
`Deleted` datetime(6) NULL COMMENT 'Deleted',
CONSTRAINT `PK_IoTTigger` PRIMARY KEY (`Id`),
CONSTRAINT `FK_IoTTigger_IoTData_IoTDataId` FOREIGN KEY (`IoTDataId`) REFERENCES `IoTData` (`Id`) ON DELETE CASCADE,
CONSTRAINT `FK_IoTTigger_IoTScene_IoTSceneId` FOREIGN KEY (`IoTSceneId`) REFERENCES `IoTScene` (`Id`) ON DELETE CASCADE
) COMMENT '触发器';
CREATE UNIQUE INDEX `IX_Area_Number` ON `Area` (`Number`);
CREATE INDEX `IX_Area_ParentId` ON `Area` (`ParentId`);
CREATE UNIQUE INDEX `IX_Building_OrganId_ParentId_Number` ON `Building` (`OrganId`, `ParentId`, `Number`);
CREATE INDEX `IX_Building_ParentId` ON `Building` (`ParentId`);
CREATE UNIQUE INDEX `IX_Department_OrganId_Number` ON `Department` (`OrganId`, `Number`);
CREATE INDEX `IX_Department_ParentId` ON `Department` (`ParentId`);
CREATE UNIQUE INDEX `IX_DepartmentUser_DeparementId_OrganUserId` ON `DepartmentUser` (`DeparementId`, `OrganUserId`);
CREATE INDEX `IX_DepartmentUser_JobId` ON `DepartmentUser` (`JobId`);
CREATE INDEX `IX_DepartmentUser_OrganUserId` ON `DepartmentUser` (`OrganUserId`);
CREATE UNIQUE INDEX `IX_DictionaryCategory_Key` ON `DictionaryCategory` (`Key`);
CREATE UNIQUE INDEX `IX_DictionaryItem_CategoryId_Value` ON `DictionaryItem` (`CategoryId`, `Value`);
CREATE UNIQUE INDEX `IX_IoTApi_IoTProductId_Name` ON `IoTApi` (`IoTProductId`, `Name`);
CREATE INDEX `IX_IoTCommand_ApiId` ON `IoTCommand` (`ApiId`);
CREATE INDEX `IX_IoTCommand_DeviceId` ON `IoTCommand` (`DeviceId`);
CREATE INDEX `IX_IoTData_IoTDeviceId` ON `IoTData` (`IoTDeviceId`);
CREATE INDEX `IX_IoTDevice_IoTGatewayId` ON `IoTDevice` (`IoTGatewayId`);
CREATE INDEX `IX_IoTDevice_IoTProductId` ON `IoTDevice` (`IoTProductId`);
CREATE UNIQUE INDEX `IX_IoTDevice_Number` ON `IoTDevice` (`Number`);
CREATE INDEX `IX_IoTGateway_BuildingId` ON `IoTGateway` (`BuildingId`);
CREATE UNIQUE INDEX `IX_IoTGateway_Number` ON `IoTGateway` (`Number`);
CREATE INDEX `IX_IoTParameter_IoTApiId` ON `IoTParameter` (`IoTApiId`);
CREATE INDEX `IX_IoTProduct_IoTProductCategoryId` ON `IoTProduct` (`IoTProductCategoryId`);
CREATE UNIQUE INDEX `IX_IoTProduct_Number` ON `IoTProduct` (`Number`);
CREATE UNIQUE INDEX `IX_IoTProductCategory_Number` ON `IoTProductCategory` (`Number`);
CREATE INDEX `IX_IoTProductCategory_ParentId` ON `IoTProductCategory` (`ParentId`);
CREATE INDEX `IX_IoTScene_BuildingId` ON `IoTScene` (`BuildingId`);
CREATE INDEX `IX_IoTSceneIoTCommand_IoTCommandId` ON `IoTSceneIoTCommand` (`IoTCommandId`);
CREATE INDEX `IX_IoTSceneIoTCommand_IoTSceneId` ON `IoTSceneIoTCommand` (`IoTSceneId`);
CREATE INDEX `IX_IoTTigger_IoTDataId` ON `IoTTigger` (`IoTDataId`);
CREATE INDEX `IX_IoTTigger_IoTSceneId` ON `IoTTigger` (`IoTSceneId`);
CREATE INDEX `IX_IoTTimer_IoTSceneId` ON `IoTTimer` (`IoTSceneId`);
CREATE INDEX `IX_Job_DepartmentId` ON `Job` (`DepartmentId`);
CREATE INDEX `IX_Job_TitleId` ON `Job` (`TitleId`);
CREATE INDEX `IX_Organ_AreaId` ON `Organ` (`AreaId`);
CREATE UNIQUE INDEX `IX_Organ_Name` ON `Organ` (`Name`);
CREATE UNIQUE INDEX `IX_Organ_Number` ON `Organ` (`Number`);
CREATE INDEX `IX_Organ_ParentId` ON `Organ` (`ParentId`);
CREATE UNIQUE INDEX `IX_OrganUser_OrganId_UserId` ON `OrganUser` (`OrganId`, `UserId`);
CREATE INDEX `IX_OrganUser_UserId` ON `OrganUser` (`UserId`);
CREATE INDEX `IX_OrganUserRole_OrganRoleId` ON `OrganUserRole` (`OrganRoleId`);
CREATE UNIQUE INDEX `IX_OrganUserRole_OrganUserId_OrganRoleId` ON `OrganUserRole` (`OrganUserId`, `OrganRoleId`);
CREATE INDEX `IX_Permission_CategoryId` ON `Permission` (`CategoryId`);
CREATE UNIQUE INDEX `IX_Permission_Number` ON `Permission` (`Number`);
CREATE INDEX `IX_PermissionCategory_AppModuleId` ON `PermissionCategory` (`AppModuleId`);
CREATE INDEX `IX_PermissionCategory_ParentId` ON `PermissionCategory` (`ParentId`);
CREATE UNIQUE INDEX `IX_Role_OrganId_Number` ON `Role` (`OrganId`, `Number`);
CREATE INDEX `IX_RolePermission_PermissionId` ON `RolePermission` (`PermissionId`);
CREATE UNIQUE INDEX `IX_RolePermission_RoleId_PermissionId` ON `RolePermission` (`RoleId`, `PermissionId`);
CREATE UNIQUE INDEX `IX_Setting_Name` ON `Setting` (`Name`);
CREATE UNIQUE INDEX `IX_Site_Name` ON `Site` (`Name`);
CREATE UNIQUE INDEX `IX_Statistic_Key` ON `Statistic` (`Key`);
CREATE INDEX `IX_Title_OrganId` ON `Title` (`OrganId`);
CREATE UNIQUE INDEX `IX_User_Email` ON `User` (`Email`);
CREATE UNIQUE INDEX `IX_User_PhoneNumber` ON `User` (`PhoneNumber`);
CREATE UNIQUE INDEX `IX_User_UserName` ON `User` (`UserName`);