96 lines
3.4 KiB
SQL
96 lines
3.4 KiB
SQL
-- CreateTable
|
|
CREATE TABLE `MihomeAccount` (
|
|
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
`key` VARCHAR(191) NOT NULL DEFAULT 'default',
|
|
`userId` VARCHAR(191) NOT NULL DEFAULT '',
|
|
`status` VARCHAR(191) NOT NULL DEFAULT 'unknown',
|
|
`lastError` VARCHAR(191) NOT NULL DEFAULT '',
|
|
`updatedAt` DATETIME(3) NOT NULL,
|
|
|
|
UNIQUE INDEX `MihomeAccount_key_key`(`key`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `MihomeHome` (
|
|
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
`homeId` VARCHAR(191) NOT NULL,
|
|
`name` VARCHAR(191) NOT NULL,
|
|
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
|
|
UNIQUE INDEX `MihomeHome_homeId_key`(`homeId`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `MihomeDevice` (
|
|
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
`did` VARCHAR(191) NOT NULL,
|
|
`homeId` VARCHAR(191) NOT NULL,
|
|
`model` VARCHAR(191) NOT NULL,
|
|
`name` VARCHAR(191) NOT NULL,
|
|
`alias` VARCHAR(191) NULL,
|
|
`tempSiid` INTEGER NOT NULL,
|
|
`tempPiid` INTEGER NOT NULL,
|
|
`humSiid` INTEGER NOT NULL,
|
|
`humPiid` INTEGER NOT NULL,
|
|
`battSiid` INTEGER NOT NULL,
|
|
`battPiid` INTEGER NOT NULL,
|
|
`battery` INTEGER NULL,
|
|
`batteryAt` DATETIME(3) NULL,
|
|
`enabled` BOOLEAN NOT NULL DEFAULT true,
|
|
`lastSyncAt` DATETIME(3) NULL,
|
|
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
|
|
UNIQUE INDEX `MihomeDevice_did_key`(`did`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `MihomeEnvSample` (
|
|
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
`deviceId` INTEGER NOT NULL,
|
|
`date` DATETIME(3) NOT NULL,
|
|
`temperature` DOUBLE NULL,
|
|
`humidity` DOUBLE NULL,
|
|
`temperatureAvg` DOUBLE NULL,
|
|
`humidityAvg` DOUBLE NULL,
|
|
`temperatureMin` DOUBLE NULL,
|
|
`temperatureMax` DOUBLE NULL,
|
|
`humidityMin` DOUBLE NULL,
|
|
`humidityMax` DOUBLE NULL,
|
|
`origin` VARCHAR(191) NOT NULL DEFAULT 'live',
|
|
`sampledAt` DATETIME(3) NULL,
|
|
`raw` JSON NULL,
|
|
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
|
|
INDEX `MihomeEnvSample_deviceId_date_idx`(`deviceId`, `date`),
|
|
UNIQUE INDEX `MihomeEnvSample_deviceId_date_key`(`deviceId`, `date`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `MihomeEnvHour` (
|
|
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
`deviceId` INTEGER NOT NULL,
|
|
`hour` DATETIME(3) NOT NULL,
|
|
`temperatureAvg` DOUBLE NULL,
|
|
`humidityAvg` DOUBLE NULL,
|
|
`raw` JSON NULL,
|
|
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
|
|
INDEX `MihomeEnvHour_deviceId_hour_idx`(`deviceId`, `hour`),
|
|
UNIQUE INDEX `MihomeEnvHour_deviceId_hour_key`(`deviceId`, `hour`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE `MihomeDevice` ADD CONSTRAINT `MihomeDevice_homeId_fkey` FOREIGN KEY (`homeId`) REFERENCES `MihomeHome`(`homeId`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE `MihomeEnvSample` ADD CONSTRAINT `MihomeEnvSample_deviceId_fkey` FOREIGN KEY (`deviceId`) REFERENCES `MihomeDevice`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE `MihomeEnvHour` ADD CONSTRAINT `MihomeEnvHour_deviceId_fkey` FOREIGN KEY (`deviceId`) REFERENCES `MihomeDevice`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|