CREATE TABLE `iot_Area` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `Name` longtext CHARACTER SET utf8mb4 NULL, `Number` varchar(255) CHARACTER SET utf8mb4 NULL, `DisplayOrder` int NOT NULL, `Left` int NOT NULL, `Right` int NOT NULL, `ParentId` char(36) NULL, `Type` int NOT NULL, `CustomType` longtext CHARACTER SET utf8mb4 NULL, CONSTRAINT `PK_iot_Area` PRIMARY KEY (`Id`), CONSTRAINT `FK_iot_Area_iot_Area_ParentId` FOREIGN KEY (`ParentId`) REFERENCES `iot_Area` (`Id`) ON DELETE RESTRICT ); CREATE TABLE `iot_IoTGateway` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `Name` longtext CHARACTER SET utf8mb4 NULL, `Number` varchar(255) CHARACTER SET utf8mb4 NOT NULL, `IsOnline` tinyint(1) NOT NULL, `Image` longtext CHARACTER SET utf8mb4 NULL, `Version` longtext CHARACTER SET utf8mb4 NULL, `DisplayOrder` int NOT NULL, `Hidden` tinyint(1) NOT NULL, CONSTRAINT `PK_iot_IoTGateway` PRIMARY KEY (`Id`) ); CREATE TABLE `iot_IoTGatewayCategory` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `Name` longtext CHARACTER SET utf8mb4 NULL, `Number` longtext CHARACTER SET utf8mb4 NULL, `DisplayOrder` int NOT NULL, `Left` int NOT NULL, `Right` int NOT NULL, `ParentId` char(36) NULL, `Template` longtext CHARACTER SET utf8mb4 NULL, CONSTRAINT `PK_iot_IoTGatewayCategory` PRIMARY KEY (`Id`), CONSTRAINT `FK_iot_IoTGatewayCategory_iot_IoTGatewayCategory_ParentId` FOREIGN KEY (`ParentId`) REFERENCES `iot_IoTGatewayCategory` (`Id`) ON DELETE RESTRICT ); CREATE TABLE `iot_IoTProductCategory` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `Name` longtext CHARACTER SET utf8mb4 NULL, `Number` varchar(255) CHARACTER SET utf8mb4 NULL, `DisplayOrder` int NOT NULL, `Left` int NOT NULL, `Right` int NOT NULL, `ParentId` char(36) NULL, `Image` longtext CHARACTER SET utf8mb4 NULL, CONSTRAINT `PK_iot_IoTProductCategory` PRIMARY KEY (`Id`), CONSTRAINT `FK_iot_IoTProductCategory_iot_IoTProductCategory_ParentId` FOREIGN KEY (`ParentId`) REFERENCES `iot_IoTProductCategory` (`Id`) ON DELETE RESTRICT ); CREATE TABLE `iot_LiveRecord` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `DeviceNumber` longtext CHARACTER SET utf8mb4 NOT NULL, `DeviceName` longtext CHARACTER SET utf8mb4 NULL, `Name` longtext CHARACTER SET utf8mb4 NULL, `Value` longtext CHARACTER SET utf8mb4 NULL, CONSTRAINT `PK_iot_LiveRecord` PRIMARY KEY (`Id`) ); CREATE TABLE `iot_Setting` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `Name` longtext CHARACTER SET utf8mb4 NOT NULL, `Value` longtext CHARACTER SET utf8mb4 NULL, `Type` int NOT NULL, CONSTRAINT `PK_iot_Setting` PRIMARY KEY (`Id`) ); CREATE TABLE `iot_Site` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `Name` varchar(255) CHARACTER SET utf8mb4 NOT NULL, `Icon` longtext CHARACTER SET utf8mb4 NULL, `Description` longtext CHARACTER SET utf8mb4 NULL, `Key` longtext CHARACTER SET utf8mb4 NULL, `Home` longtext CHARACTER SET utf8mb4 NULL, `Login` longtext CHARACTER SET utf8mb4 NULL, `Logout` longtext CHARACTER SET utf8mb4 NULL, `Disabled` tinyint(1) NOT NULL, `DisplayOrder` int NOT NULL, CONSTRAINT `PK_iot_Site` PRIMARY KEY (`Id`) ); CREATE TABLE `iot_User` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `UserName` varchar(255) CHARACTER SET utf8mb4 NOT NULL, `SecurityStamp` longtext CHARACTER SET utf8mb4 NULL, `PasswordHash` longtext CHARACTER SET utf8mb4 NULL, `PasswordConfirmed` tinyint(1) NOT NULL, `Email` varchar(255) CHARACTER SET utf8mb4 NULL, `EmailConfirmed` tinyint(1) NOT NULL, `PhoneNumber` varchar(255) CHARACTER SET utf8mb4 NULL, `PhoneNumberConfirmed` tinyint(1) NOT NULL, `RealName` longtext CHARACTER SET utf8mb4 NULL, `IdentityNumber` longtext CHARACTER SET utf8mb4 NULL, `IdentityConfirmed` tinyint(1) NOT NULL, `NickName` longtext CHARACTER SET utf8mb4 NULL, `Avatar` longtext CHARACTER SET utf8mb4 NULL, `Sex` int NULL, `Birthday` datetime(6) NULL, `LockoutEnabled` tinyint(1) NOT NULL, `AccessFailedCount` int NOT NULL, `LockoutEnd` datetime(6) NULL, `RowVersion` longtext CHARACTER SET utf8mb4 NULL, CONSTRAINT `PK_iot_User` PRIMARY KEY (`Id`) ); CREATE TABLE `iot_Organ` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `Name` varchar(255) CHARACTER SET utf8mb4 NULL, `Number` varchar(255) CHARACTER SET utf8mb4 NULL, `DisplayOrder` int NOT NULL, `Left` int NOT NULL, `Right` int NOT NULL, `ParentId` char(36) NULL, `Type` int NOT NULL, `CustomType` longtext CHARACTER SET utf8mb4 NULL, `Image` longtext CHARACTER SET utf8mb4 NULL, `Description` longtext CHARACTER SET utf8mb4 NULL, `AreaId` char(36) NULL, CONSTRAINT `PK_iot_Organ` PRIMARY KEY (`Id`), CONSTRAINT `FK_iot_Organ_iot_Area_AreaId` FOREIGN KEY (`AreaId`) REFERENCES `iot_Area` (`Id`) ON DELETE SET NULL, CONSTRAINT `FK_iot_Organ_iot_Organ_ParentId` FOREIGN KEY (`ParentId`) REFERENCES `iot_Organ` (`Id`) ON DELETE RESTRICT ); CREATE TABLE `iot_IoTScene` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `Name` longtext CHARACTER SET utf8mb4 NOT NULL, `Image` longtext CHARACTER SET utf8mb4 NOT NULL, `Hidden` tinyint(1) NOT NULL, `DisplayOrder` int NOT NULL, `NodeId` char(36) NULL, CONSTRAINT `PK_iot_IoTScene` PRIMARY KEY (`Id`), CONSTRAINT `FK_iot_IoTScene_iot_IoTGateway_NodeId` FOREIGN KEY (`NodeId`) REFERENCES `iot_IoTGateway` (`Id`) ON DELETE CASCADE ); CREATE TABLE `iot_IoTGatewayCategoryIoTGateway` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `CategoryId` char(36) NOT NULL, `NodeId` char(36) NOT NULL, CONSTRAINT `PK_iot_IoTGatewayCategoryIoTGateway` PRIMARY KEY (`Id`), CONSTRAINT `FK_iot_IoTGatewayCategoryIoTGateway_iot_IoTGatewayCategory_Cate~` FOREIGN KEY (`CategoryId`) REFERENCES `iot_IoTGatewayCategory` (`Id`) ON DELETE CASCADE, CONSTRAINT `FK_iot_IoTGatewayCategoryIoTGateway_iot_IoTGateway_NodeId` FOREIGN KEY (`NodeId`) REFERENCES `iot_IoTGateway` (`Id`) ON DELETE CASCADE ); CREATE TABLE `iot_IoTProduct` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `Name` longtext CHARACTER SET utf8mb4 NULL, `Number` varchar(255) CHARACTER SET utf8mb4 NOT NULL, `Image` longtext CHARACTER SET utf8mb4 NULL, `Path` longtext CHARACTER SET utf8mb4 NULL, `ApiJson` longtext CHARACTER SET utf8mb4 NULL, `DisplayOrder` int NOT NULL, `CategoryId` char(36) NOT NULL, CONSTRAINT `PK_iot_IoTProduct` PRIMARY KEY (`Id`), CONSTRAINT `FK_iot_IoTProduct_iot_IoTProductCategory_CategoryId` FOREIGN KEY (`CategoryId`) REFERENCES `iot_IoTProductCategory` (`Id`) ON DELETE CASCADE ); CREATE TABLE `iot_Building` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `Name` longtext CHARACTER SET utf8mb4 NULL, `Number` varchar(255) CHARACTER SET utf8mb4 NULL, `DisplayOrder` int NOT NULL, `Left` int NOT NULL, `Right` int NOT NULL, `ParentId` char(36) NULL, `Type` int NOT NULL, `CustomType` longtext CHARACTER SET utf8mb4 NULL, `Image` longtext CHARACTER SET utf8mb4 NULL, `Description` longtext CHARACTER SET utf8mb4 NULL, `OrganId` char(36) NULL, `AreaId` char(36) NULL, CONSTRAINT `PK_iot_Building` PRIMARY KEY (`Id`), CONSTRAINT `FK_iot_Building_iot_Area_AreaId` FOREIGN KEY (`AreaId`) REFERENCES `iot_Area` (`Id`) ON DELETE RESTRICT, CONSTRAINT `FK_iot_Building_iot_Organ_OrganId` FOREIGN KEY (`OrganId`) REFERENCES `iot_Organ` (`Id`) ON DELETE SET NULL, CONSTRAINT `FK_iot_Building_iot_Building_ParentId` FOREIGN KEY (`ParentId`) REFERENCES `iot_Building` (`Id`) ON DELETE RESTRICT ); CREATE TABLE `iot_Department` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `Name` longtext CHARACTER SET utf8mb4 NULL, `Number` varchar(255) CHARACTER SET utf8mb4 NULL, `DisplayOrder` int NOT NULL, `Left` int NOT NULL, `Right` int NOT NULL, `ParentId` char(36) NULL, `Type` int NOT NULL, `CustomType` longtext CHARACTER SET utf8mb4 NULL, `OrganId` char(36) NOT NULL, CONSTRAINT `PK_iot_Department` PRIMARY KEY (`Id`), CONSTRAINT `FK_iot_Department_iot_Organ_OrganId` FOREIGN KEY (`OrganId`) REFERENCES `iot_Organ` (`Id`) ON DELETE CASCADE, CONSTRAINT `FK_iot_Department_iot_Department_ParentId` FOREIGN KEY (`ParentId`) REFERENCES `iot_Department` (`Id`) ON DELETE RESTRICT ); CREATE TABLE `iot_OrganIoTScene` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `Name` longtext CHARACTER SET utf8mb4 NOT NULL, `Image` longtext CHARACTER SET utf8mb4 NOT NULL, `Hidden` tinyint(1) NOT NULL, `DisplayOrder` int NOT NULL, `OrganId` char(36) NOT NULL, CONSTRAINT `PK_iot_OrganIoTScene` PRIMARY KEY (`Id`), CONSTRAINT `FK_iot_OrganIoTScene_iot_Organ_OrganId` FOREIGN KEY (`OrganId`) REFERENCES `iot_Organ` (`Id`) ON DELETE CASCADE ); CREATE TABLE `iot_OrganUser` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `Type` int NOT NULL, `CustomType` longtext CHARACTER SET utf8mb4 NULL, `OrganId` char(36) NOT NULL, `UserId` char(36) NOT NULL, `IsDefault` tinyint(1) NOT NULL, CONSTRAINT `PK_iot_OrganUser` PRIMARY KEY (`Id`), CONSTRAINT `FK_iot_OrganUser_iot_Organ_OrganId` FOREIGN KEY (`OrganId`) REFERENCES `iot_Organ` (`Id`) ON DELETE CASCADE, CONSTRAINT `FK_iot_OrganUser_iot_User_UserId` FOREIGN KEY (`UserId`) REFERENCES `iot_User` (`Id`) ON DELETE CASCADE ); CREATE TABLE `iot_PermissionCategory` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `Name` longtext CHARACTER SET utf8mb4 NULL, `Number` varchar(255) CHARACTER SET utf8mb4 NULL, `DisplayOrder` int NOT NULL, `Left` int NOT NULL, `Right` int NOT NULL, `ParentId` char(36) NULL, `OrganId` char(36) NULL, CONSTRAINT `PK_iot_PermissionCategory` PRIMARY KEY (`Id`), CONSTRAINT `FK_iot_PermissionCategory_iot_Organ_OrganId` FOREIGN KEY (`OrganId`) REFERENCES `iot_Organ` (`Id`) ON DELETE CASCADE, CONSTRAINT `FK_iot_PermissionCategory_iot_PermissionCategory_ParentId` FOREIGN KEY (`ParentId`) REFERENCES `iot_PermissionCategory` (`Id`) ON DELETE RESTRICT ); CREATE TABLE `iot_Role` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `Name` varchar(255) CHARACTER SET utf8mb4 NOT NULL, `Number` longtext CHARACTER SET utf8mb4 NULL, `IsReadOnly` tinyint(1) NOT NULL, `OrganId` char(36) NULL, CONSTRAINT `PK_iot_Role` PRIMARY KEY (`Id`), CONSTRAINT `FK_iot_Role_iot_Organ_OrganId` FOREIGN KEY (`OrganId`) REFERENCES `iot_Organ` (`Id`) ON DELETE CASCADE ); CREATE TABLE `iot_Title` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `Name` longtext CHARACTER SET utf8mb4 NULL, `MinLevel` int NOT NULL, `MaxLevel` int NOT NULL, `OrganId` char(36) NOT NULL, CONSTRAINT `PK_iot_Title` PRIMARY KEY (`Id`), CONSTRAINT `FK_iot_Title_iot_Organ_OrganId` FOREIGN KEY (`OrganId`) REFERENCES `iot_Organ` (`Id`) ON DELETE CASCADE ); CREATE TABLE `iot_IoTSceneTimer` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `Name` longtext CHARACTER SET utf8mb4 NULL, `Cron` longtext CHARACTER SET utf8mb4 NULL, `Disabled` tinyint(1) NOT NULL, `SceneId` char(36) NOT NULL, CONSTRAINT `PK_iot_IoTSceneTimer` PRIMARY KEY (`Id`), CONSTRAINT `FK_iot_IoTSceneTimer_iot_IoTScene_SceneId` FOREIGN KEY (`SceneId`) REFERENCES `iot_IoTScene` (`Id`) ON DELETE CASCADE ); CREATE TABLE `iot_IoTApi` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `Name` varchar(255) CHARACTER SET utf8mb4 NULL, `Path` longtext CHARACTER SET utf8mb4 NULL, `Command` longtext CHARACTER SET utf8mb4 NULL, `Method` longtext CHARACTER SET utf8mb4 NULL, `ProductId` char(36) NOT NULL, CONSTRAINT `PK_iot_IoTApi` PRIMARY KEY (`Id`), CONSTRAINT `FK_iot_IoTApi_iot_IoTProduct_ProductId` FOREIGN KEY (`ProductId`) REFERENCES `iot_IoTProduct` (`Id`) ON DELETE CASCADE ); CREATE TABLE `iot_IoTDevice` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `Name` longtext CHARACTER SET utf8mb4 NULL, `Number` varchar(255) CHARACTER SET utf8mb4 NOT NULL, `Gateway` longtext CHARACTER SET utf8mb4 NULL, `DisplayName` longtext CHARACTER SET utf8mb4 NOT NULL, `Tag` longtext CHARACTER SET utf8mb4 NULL, `IsOnline` tinyint(1) NOT NULL, `Icon` longtext CHARACTER SET utf8mb4 NULL, `Ip` longtext CHARACTER SET utf8mb4 NULL, `UserName` longtext CHARACTER SET utf8mb4 NULL, `Password` longtext CHARACTER SET utf8mb4 NULL, `ConnectId` longtext CHARACTER SET utf8mb4 NULL, `DisplayOrder` int NOT NULL, `Disabled` tinyint(1) NOT NULL, `ProductId` char(36) NOT NULL, `NodeId` char(36) NOT NULL, CONSTRAINT `PK_iot_IoTDevice` PRIMARY KEY (`Id`), CONSTRAINT `FK_iot_IoTDevice_iot_IoTGateway_NodeId` FOREIGN KEY (`NodeId`) REFERENCES `iot_IoTGateway` (`Id`) ON DELETE CASCADE, CONSTRAINT `FK_iot_IoTDevice_iot_IoTProduct_ProductId` FOREIGN KEY (`ProductId`) REFERENCES `iot_IoTProduct` (`Id`) ON DELETE CASCADE ); CREATE TABLE `iot_BuildingIoTGateway` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `BuildingId` char(36) NOT NULL, `IoTGatewayId` char(36) NOT NULL, CONSTRAINT `PK_iot_BuildingIoTGateway` PRIMARY KEY (`Id`), CONSTRAINT `FK_iot_BuildingIoTGateway_iot_Building_BuildingId` FOREIGN KEY (`BuildingId`) REFERENCES `iot_Building` (`Id`) ON DELETE CASCADE, CONSTRAINT `FK_iot_BuildingIoTGateway_iot_IoTGateway_IoTGatewayId` FOREIGN KEY (`IoTGatewayId`) REFERENCES `iot_IoTGateway` (`Id`) ON DELETE CASCADE ); CREATE TABLE `iot_OrganIoTSceneTimer` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `Name` longtext CHARACTER SET utf8mb4 NULL, `Cron` longtext CHARACTER SET utf8mb4 NULL, `Disabled` tinyint(1) NOT NULL, `OrganSceneId` char(36) NOT NULL, CONSTRAINT `PK_iot_OrganIoTSceneTimer` PRIMARY KEY (`Id`), CONSTRAINT `FK_iot_OrganIoTSceneTimer_iot_OrganIoTScene_OrganSceneId` FOREIGN KEY (`OrganSceneId`) REFERENCES `iot_OrganIoTScene` (`Id`) ON DELETE CASCADE ); CREATE TABLE `iot_Permission` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `Name` longtext CHARACTER SET utf8mb4 NULL, `Number` varchar(255) CHARACTER SET utf8mb4 NULL, `IsReadOnly` tinyint(1) NOT NULL, `OrganId` char(36) NULL, `CategoryId` char(36) NULL, CONSTRAINT `PK_iot_Permission` PRIMARY KEY (`Id`), CONSTRAINT `FK_iot_Permission_iot_PermissionCategory_CategoryId` FOREIGN KEY (`CategoryId`) REFERENCES `iot_PermissionCategory` (`Id`) ON DELETE SET NULL, CONSTRAINT `FK_iot_Permission_iot_Organ_OrganId` FOREIGN KEY (`OrganId`) REFERENCES `iot_Organ` (`Id`) ON DELETE RESTRICT ); CREATE TABLE `iot_UserRole` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `UserId` char(36) NOT NULL, `RoleId` char(36) NOT NULL, CONSTRAINT `PK_iot_UserRole` PRIMARY KEY (`Id`), CONSTRAINT `FK_iot_UserRole_iot_Role_RoleId` FOREIGN KEY (`RoleId`) REFERENCES `iot_Role` (`Id`) ON DELETE CASCADE, CONSTRAINT `FK_iot_UserRole_iot_User_UserId` FOREIGN KEY (`UserId`) REFERENCES `iot_User` (`Id`) ON DELETE CASCADE ); CREATE TABLE `iot_Job` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `Name` longtext CHARACTER SET utf8mb4 NULL, `Level` int NOT NULL, `TitleId` char(36) NOT NULL, `DepartmentId` char(36) NOT NULL, CONSTRAINT `PK_iot_Job` PRIMARY KEY (`Id`), CONSTRAINT `FK_iot_Job_iot_Department_DepartmentId` FOREIGN KEY (`DepartmentId`) REFERENCES `iot_Department` (`Id`) ON DELETE CASCADE, CONSTRAINT `FK_iot_Job_iot_Title_TitleId` FOREIGN KEY (`TitleId`) REFERENCES `iot_Title` (`Id`) ON DELETE CASCADE ); CREATE TABLE `iot_IoTParameter` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `Type` longtext CHARACTER SET utf8mb4 NULL, `Name` longtext CHARACTER SET utf8mb4 NULL, `Description` longtext CHARACTER SET utf8mb4 NULL, `Required` tinyint(1) NOT NULL, `Maxinum` longtext CHARACTER SET utf8mb4 NULL, `Minimum` longtext CHARACTER SET utf8mb4 NULL, `ApiId` char(36) NOT NULL, CONSTRAINT `PK_iot_IoTParameter` PRIMARY KEY (`Id`), CONSTRAINT `FK_iot_IoTParameter_iot_IoTApi_ApiId` FOREIGN KEY (`ApiId`) REFERENCES `iot_IoTApi` (`Id`) ON DELETE CASCADE ); CREATE TABLE `iot_IoTCommand` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `Name` longtext CHARACTER SET utf8mb4 NULL, `DisplayOrder` int NOT NULL, `Disabled` tinyint(1) NOT NULL, `Delay` int NOT NULL, `QueryString` longtext CHARACTER SET utf8mb4 NULL, `ApiId` char(36) NOT NULL, `DeviceId` char(36) NOT NULL, CONSTRAINT `PK_iot_IoTCommand` PRIMARY KEY (`Id`), CONSTRAINT `FK_iot_IoTCommand_iot_IoTApi_ApiId` FOREIGN KEY (`ApiId`) REFERENCES `iot_IoTApi` (`Id`) ON DELETE CASCADE, CONSTRAINT `FK_iot_IoTCommand_iot_IoTDevice_DeviceId` FOREIGN KEY (`DeviceId`) REFERENCES `iot_IoTDevice` (`Id`) ON DELETE CASCADE ); CREATE TABLE `iot_IoTData` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `Key` longtext CHARACTER SET utf8mb4 NOT NULL, `Value` longtext CHARACTER SET utf8mb4 NULL, `Name` longtext CHARACTER SET utf8mb4 NULL, `Type` int NOT NULL, `Unit` longtext CHARACTER SET utf8mb4 NULL, `Description` longtext CHARACTER SET utf8mb4 NULL, `Timestamp` bigint NOT NULL, `Hidden` tinyint(1) NOT NULL, `DeviceId` char(36) NOT NULL, CONSTRAINT `PK_iot_IoTData` PRIMARY KEY (`Id`), CONSTRAINT `FK_iot_IoTData_iot_IoTDevice_DeviceId` FOREIGN KEY (`DeviceId`) REFERENCES `iot_IoTDevice` (`Id`) ON DELETE CASCADE ); CREATE TABLE `iot_RolePermission` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `RoleId` char(36) NOT NULL, `PermissionId` char(36) NOT NULL, `IsReadOnly` tinyint(1) NOT NULL, CONSTRAINT `PK_iot_RolePermission` PRIMARY KEY (`Id`), CONSTRAINT `FK_iot_RolePermission_iot_Permission_PermissionId` FOREIGN KEY (`PermissionId`) REFERENCES `iot_Permission` (`Id`) ON DELETE CASCADE, CONSTRAINT `FK_iot_RolePermission_iot_Role_RoleId` FOREIGN KEY (`RoleId`) REFERENCES `iot_Role` (`Id`) ON DELETE CASCADE ); CREATE TABLE `iot_DepartmentUser` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `Position` longtext CHARACTER SET utf8mb4 NULL, `Type` int NOT NULL, `CustomType` longtext CHARACTER SET utf8mb4 NULL, `UserId` char(36) NOT NULL, `DeparementId` char(36) NOT NULL, `JobId` char(36) NULL, `DepartmentId` char(36) NULL, CONSTRAINT `PK_iot_DepartmentUser` PRIMARY KEY (`Id`), CONSTRAINT `FK_iot_DepartmentUser_iot_Department_DepartmentId` FOREIGN KEY (`DepartmentId`) REFERENCES `iot_Department` (`Id`) ON DELETE RESTRICT, CONSTRAINT `FK_iot_DepartmentUser_iot_Job_JobId` FOREIGN KEY (`JobId`) REFERENCES `iot_Job` (`Id`) ON DELETE RESTRICT, CONSTRAINT `FK_iot_DepartmentUser_iot_User_UserId` FOREIGN KEY (`UserId`) REFERENCES `iot_User` (`Id`) ON DELETE CASCADE ); CREATE TABLE `iot_IoTSceneIoTCommand` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `SceneId` char(36) NOT NULL, `CommandId` char(36) NOT NULL, CONSTRAINT `PK_iot_IoTSceneIoTCommand` PRIMARY KEY (`Id`), CONSTRAINT `FK_iot_IoTSceneIoTCommand_iot_IoTCommand_CommandId` FOREIGN KEY (`CommandId`) REFERENCES `iot_IoTCommand` (`Id`) ON DELETE CASCADE, CONSTRAINT `FK_iot_IoTSceneIoTCommand_iot_IoTScene_SceneId` FOREIGN KEY (`SceneId`) REFERENCES `iot_IoTScene` (`Id`) ON DELETE CASCADE ); CREATE TABLE `iot_OrganIoTSceneIoTCommand` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `OrganSceneId` char(36) NOT NULL, `CommandId` char(36) NOT NULL, CONSTRAINT `PK_iot_OrganIoTSceneIoTCommand` PRIMARY KEY (`Id`), CONSTRAINT `FK_iot_OrganIoTSceneIoTCommand_iot_IoTCommand_CommandId` FOREIGN KEY (`CommandId`) REFERENCES `iot_IoTCommand` (`Id`) ON DELETE CASCADE, CONSTRAINT `FK_iot_OrganIoTSceneIoTCommand_iot_OrganIoTScene_OrganSceneId` FOREIGN KEY (`OrganSceneId`) REFERENCES `iot_OrganIoTScene` (`Id`) ON DELETE CASCADE ); CREATE TABLE `iot_IoTSceneTigger` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `Name` longtext CHARACTER SET utf8mb4 NULL, `Condition` longtext CHARACTER SET utf8mb4 NULL, `Disabled` tinyint(1) NOT NULL, `DataId` char(36) NOT NULL, `SceneId` char(36) NOT NULL, CONSTRAINT `PK_iot_IoTSceneTigger` PRIMARY KEY (`Id`), CONSTRAINT `FK_iot_IoTSceneTigger_iot_IoTData_DataId` FOREIGN KEY (`DataId`) REFERENCES `iot_IoTData` (`Id`) ON DELETE CASCADE, CONSTRAINT `FK_iot_IoTSceneTigger_iot_IoTScene_SceneId` FOREIGN KEY (`SceneId`) REFERENCES `iot_IoTScene` (`Id`) ON DELETE CASCADE ); CREATE TABLE `iot_OrganIoTSceneTigger` ( `Id` char(36) NOT NULL, `IsDeleted` longtext CHARACTER SET utf8mb4 NULL, `Name` longtext CHARACTER SET utf8mb4 NULL, `Condition` longtext CHARACTER SET utf8mb4 NULL, `Disabled` tinyint(1) NOT NULL, `DataId` char(36) NOT NULL, `OrganSceneId` char(36) NOT NULL, CONSTRAINT `PK_iot_OrganIoTSceneTigger` PRIMARY KEY (`Id`), CONSTRAINT `FK_iot_OrganIoTSceneTigger_iot_IoTData_DataId` FOREIGN KEY (`DataId`) REFERENCES `iot_IoTData` (`Id`) ON DELETE CASCADE, CONSTRAINT `FK_iot_OrganIoTSceneTigger_iot_OrganIoTScene_OrganSceneId` FOREIGN KEY (`OrganSceneId`) REFERENCES `iot_OrganIoTScene` (`Id`) ON DELETE CASCADE ); CREATE UNIQUE INDEX `IX_iot_Area_Number` ON `iot_Area` (`Number`); CREATE INDEX `IX_iot_Area_ParentId` ON `iot_Area` (`ParentId`); CREATE INDEX `IX_iot_Building_AreaId` ON `iot_Building` (`AreaId`); CREATE UNIQUE INDEX `IX_iot_Building_Number` ON `iot_Building` (`Number`); CREATE INDEX `IX_iot_Building_OrganId` ON `iot_Building` (`OrganId`); CREATE INDEX `IX_iot_Building_ParentId` ON `iot_Building` (`ParentId`); CREATE INDEX `IX_iot_BuildingIoTGateway_IoTGatewayId` ON `iot_BuildingIoTGateway` (`IoTGatewayId`); CREATE UNIQUE INDEX `IX_iot_BuildingIoTGateway_BuildingId_IoTGatewayId` ON `iot_BuildingIoTGateway` (`BuildingId`, `IoTGatewayId`); CREATE INDEX `IX_iot_Department_ParentId` ON `iot_Department` (`ParentId`); CREATE UNIQUE INDEX `IX_iot_Department_OrganId_Number` ON `iot_Department` (`OrganId`, `Number`); CREATE INDEX `IX_iot_DepartmentUser_DepartmentId` ON `iot_DepartmentUser` (`DepartmentId`); CREATE INDEX `IX_iot_DepartmentUser_JobId` ON `iot_DepartmentUser` (`JobId`); CREATE INDEX `IX_iot_DepartmentUser_UserId` ON `iot_DepartmentUser` (`UserId`); CREATE UNIQUE INDEX `IX_iot_IoTApi_ProductId_Name` ON `iot_IoTApi` (`ProductId`, `Name`); CREATE INDEX `IX_iot_IoTCommand_ApiId` ON `iot_IoTCommand` (`ApiId`); CREATE INDEX `IX_iot_IoTCommand_DeviceId` ON `iot_IoTCommand` (`DeviceId`); CREATE INDEX `IX_iot_IoTData_DeviceId` ON `iot_IoTData` (`DeviceId`); CREATE INDEX `IX_iot_IoTDevice_NodeId` ON `iot_IoTDevice` (`NodeId`); CREATE UNIQUE INDEX `IX_iot_IoTDevice_Number` ON `iot_IoTDevice` (`Number`); CREATE INDEX `IX_iot_IoTDevice_ProductId` ON `iot_IoTDevice` (`ProductId`); CREATE UNIQUE INDEX `IX_iot_IoTGateway_Number` ON `iot_IoTGateway` (`Number`); CREATE INDEX `IX_iot_IoTGatewayCategory_ParentId` ON `iot_IoTGatewayCategory` (`ParentId`); CREATE INDEX `IX_iot_IoTGatewayCategoryIoTGateway_NodeId` ON `iot_IoTGatewayCategoryIoTGateway` (`NodeId`); CREATE UNIQUE INDEX `IX_iot_IoTGatewayCategoryIoTGateway_CategoryId_NodeId` ON `iot_IoTGatewayCategoryIoTGateway` (`CategoryId`, `NodeId`); CREATE INDEX `IX_iot_IoTParameter_ApiId` ON `iot_IoTParameter` (`ApiId`); CREATE INDEX `IX_iot_IoTProduct_CategoryId` ON `iot_IoTProduct` (`CategoryId`); CREATE UNIQUE INDEX `IX_iot_IoTProduct_Number` ON `iot_IoTProduct` (`Number`); CREATE UNIQUE INDEX `IX_iot_IoTProductCategory_Number` ON `iot_IoTProductCategory` (`Number`); CREATE INDEX `IX_iot_IoTProductCategory_ParentId` ON `iot_IoTProductCategory` (`ParentId`); CREATE INDEX `IX_iot_IoTScene_NodeId` ON `iot_IoTScene` (`NodeId`); CREATE INDEX `IX_iot_IoTSceneIoTCommand_CommandId` ON `iot_IoTSceneIoTCommand` (`CommandId`); CREATE INDEX `IX_iot_IoTSceneIoTCommand_SceneId` ON `iot_IoTSceneIoTCommand` (`SceneId`); CREATE INDEX `IX_iot_IoTSceneTigger_DataId` ON `iot_IoTSceneTigger` (`DataId`); CREATE INDEX `IX_iot_IoTSceneTigger_SceneId` ON `iot_IoTSceneTigger` (`SceneId`); CREATE INDEX `IX_iot_IoTSceneTimer_SceneId` ON `iot_IoTSceneTimer` (`SceneId`); CREATE INDEX `IX_iot_Job_DepartmentId` ON `iot_Job` (`DepartmentId`); CREATE INDEX `IX_iot_Job_TitleId` ON `iot_Job` (`TitleId`); CREATE INDEX `IX_iot_Organ_AreaId` ON `iot_Organ` (`AreaId`); CREATE UNIQUE INDEX `IX_iot_Organ_Name` ON `iot_Organ` (`Name`); CREATE UNIQUE INDEX `IX_iot_Organ_Number` ON `iot_Organ` (`Number`); CREATE INDEX `IX_iot_Organ_ParentId` ON `iot_Organ` (`ParentId`); CREATE INDEX `IX_iot_OrganIoTScene_OrganId` ON `iot_OrganIoTScene` (`OrganId`); CREATE INDEX `IX_iot_OrganIoTSceneIoTCommand_CommandId` ON `iot_OrganIoTSceneIoTCommand` (`CommandId`); CREATE INDEX `IX_iot_OrganIoTSceneIoTCommand_OrganSceneId` ON `iot_OrganIoTSceneIoTCommand` (`OrganSceneId`); CREATE INDEX `IX_iot_OrganIoTSceneTigger_DataId` ON `iot_OrganIoTSceneTigger` (`DataId`); CREATE INDEX `IX_iot_OrganIoTSceneTigger_OrganSceneId` ON `iot_OrganIoTSceneTigger` (`OrganSceneId`); CREATE INDEX `IX_iot_OrganIoTSceneTimer_OrganSceneId` ON `iot_OrganIoTSceneTimer` (`OrganSceneId`); CREATE INDEX `IX_iot_OrganUser_UserId` ON `iot_OrganUser` (`UserId`); CREATE UNIQUE INDEX `IX_iot_OrganUser_OrganId_UserId` ON `iot_OrganUser` (`OrganId`, `UserId`); CREATE INDEX `IX_iot_Permission_CategoryId` ON `iot_Permission` (`CategoryId`); CREATE UNIQUE INDEX `IX_iot_Permission_Number` ON `iot_Permission` (`Number`); CREATE INDEX `IX_iot_Permission_OrganId` ON `iot_Permission` (`OrganId`); CREATE UNIQUE INDEX `IX_iot_PermissionCategory_Number` ON `iot_PermissionCategory` (`Number`); CREATE INDEX `IX_iot_PermissionCategory_OrganId` ON `iot_PermissionCategory` (`OrganId`); CREATE INDEX `IX_iot_PermissionCategory_ParentId` ON `iot_PermissionCategory` (`ParentId`); CREATE UNIQUE INDEX `IX_iot_Role_Name` ON `iot_Role` (`Name`); CREATE INDEX `IX_iot_Role_OrganId` ON `iot_Role` (`OrganId`); CREATE INDEX `IX_iot_RolePermission_PermissionId` ON `iot_RolePermission` (`PermissionId`); CREATE UNIQUE INDEX `IX_iot_RolePermission_RoleId_PermissionId` ON `iot_RolePermission` (`RoleId`, `PermissionId`); CREATE UNIQUE INDEX `IX_iot_Site_Name` ON `iot_Site` (`Name`); CREATE INDEX `IX_iot_Title_OrganId` ON `iot_Title` (`OrganId`); CREATE UNIQUE INDEX `IX_iot_User_Email` ON `iot_User` (`Email`); CREATE UNIQUE INDEX `IX_iot_User_PhoneNumber` ON `iot_User` (`PhoneNumber`); CREATE UNIQUE INDEX `IX_iot_User_UserName` ON `iot_User` (`UserName`); CREATE INDEX `IX_iot_UserRole_RoleId` ON `iot_UserRole` (`RoleId`); CREATE UNIQUE INDEX `IX_iot_UserRole_UserId_RoleId` ON `iot_UserRole` (`UserId`, `RoleId`);