CREATE TABLE "IoTGateway" ( -- 网关 -- Id "Id" TEXT NOT NULL CONSTRAINT "PK_IoTGateway" PRIMARY KEY, -- 节点名称 "Name" TEXT NULL, -- 节点编号 "Number" TEXT NOT NULL, -- 在线 "IsOnline" INTEGER NOT NULL, -- 图片 "Image" TEXT NULL, -- 版本 "Version" TEXT NULL, -- Password "Password" TEXT NULL, -- 序号 "Order" INTEGER NOT NULL, -- 隐藏 "Hidden" INTEGER NOT NULL, -- BuildingId "BuildingId" TEXT NULL, -- IsDeleted "IsDeleted" TEXT NULL ); CREATE TABLE "IoTProduct" ( -- 产品 -- Id "Id" TEXT NOT NULL CONSTRAINT "PK_IoTProduct" PRIMARY KEY, -- 产品名称 "Name" TEXT NULL, -- 产品型号 "Number" TEXT NOT NULL, -- 图标 "Image" TEXT NULL, -- Template "Template" TEXT NULL, -- 路径 "Path" TEXT NULL, -- ApiJson "ApiJson" TEXT NULL, -- IoTProductCategoryId "IoTProductCategoryId" TEXT NULL, -- IsDeleted "IsDeleted" TEXT NULL ); CREATE TABLE "Setting" ( -- 配置 -- Id "Id" TEXT NOT NULL CONSTRAINT "PK_Setting" PRIMARY KEY, -- Name "Name" TEXT NOT NULL, -- Value "Value" TEXT NULL, -- Type "Type" INTEGER NOT NULL, -- IsDeleted "IsDeleted" TEXT NULL ); CREATE TABLE "IoTDevice" ( -- 设备 -- Id "Id" TEXT NOT NULL CONSTRAINT "PK_IoTDevice" PRIMARY KEY, -- 名称 "Name" TEXT NULL, -- 编号 "Number" TEXT NOT NULL, -- 网关编号 "Gateway" TEXT NULL, -- 显示名称 "DisplayName" TEXT NOT NULL, -- 标记 "Tag" TEXT NULL, -- 在线状态 "IsOnline" INTEGER NOT NULL, -- 图标 "Icon" TEXT NULL, -- IP "Ip" TEXT NULL, -- 用户名 "UserName" TEXT NULL, -- 密码 "Password" TEXT NULL, -- 连接Id "ConnectId" TEXT NULL, -- 序号 "Order" INTEGER NOT NULL, -- 隐藏 "Disabled" INTEGER NOT NULL, -- 产品Id "IoTProductId" TEXT NOT NULL, -- 节点Id "IoTGatewayId" TEXT NOT NULL, -- IsDeleted "IsDeleted" TEXT NULL, 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 ); CREATE TABLE "IoTData" ( -- 数据 -- Id "Id" TEXT NOT NULL CONSTRAINT "PK_IoTData" PRIMARY KEY, -- 键 "Key" TEXT NOT NULL, -- 值 "Value" TEXT NULL, -- IntValue "IntValue" INTEGER NULL, -- DoubleValue "DoubleValue" REAL NULL, -- DateTimeValue "DateTimeValue" TEXT NULL, -- 枚举候选值列表 "EnumValues" TEXT NULL, -- 名称 "Name" TEXT NULL, -- 数据分类 "DataType" INTEGER NOT NULL, -- 数值类型 "ValueType" INTEGER NOT NULL, -- 对象模式 "ValueSchema" TEXT NULL, -- 单位 "Unit" TEXT NULL, -- 描述 "Description" TEXT NULL, -- 时间戳 "Timestamp" INTEGER NOT NULL, -- 隐藏 "Hidden" INTEGER NOT NULL, -- 设备Id "IoTDeviceId" TEXT NOT NULL, -- IsDeleted "IsDeleted" TEXT NULL, CONSTRAINT "FK_IoTData_IoTDevice_IoTDeviceId" FOREIGN KEY ("IoTDeviceId") REFERENCES "IoTDevice" ("Id") ON DELETE CASCADE ); 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 UNIQUE INDEX "IX_IoTGateway_Number" ON "IoTGateway" ("Number"); CREATE UNIQUE INDEX "IX_IoTProduct_Number" ON "IoTProduct" ("Number"); CREATE UNIQUE INDEX "IX_Setting_Name" ON "Setting" ("Name");