mirror of
https://github.com/ZeroCatDev/ClassworksKV.git
synced 2025-10-22 10:23:12 +00:00
69 lines
2.4 KiB
SQL
69 lines
2.4 KiB
SQL
-- CreateTable
|
|
CREATE TABLE `KVStore` (
|
|
`deviceId` INTEGER NOT NULL,
|
|
`key` VARCHAR(191) NOT NULL,
|
|
`value` JSON NOT NULL,
|
|
`creatorIp` VARCHAR(191) NULL DEFAULT '',
|
|
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
`updatedAt` DATETIME(3) NOT NULL,
|
|
|
|
PRIMARY KEY (`deviceId`, `key`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `Account` (
|
|
`id` VARCHAR(191) NOT NULL,
|
|
`provider` VARCHAR(191) NOT NULL,
|
|
`providerId` VARCHAR(191) NOT NULL,
|
|
`email` VARCHAR(191) NULL,
|
|
`name` VARCHAR(191) NULL,
|
|
`avatarUrl` VARCHAR(191) NULL,
|
|
`providerData` JSON NULL,
|
|
`accessToken` VARCHAR(191) NOT NULL,
|
|
`refreshToken` VARCHAR(191) NULL,
|
|
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
`updatedAt` DATETIME(3) NOT NULL,
|
|
|
|
UNIQUE INDEX `Account_accessToken_key`(`accessToken`),
|
|
UNIQUE INDEX `Account_provider_providerId_key`(`provider`, `providerId`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `Device` (
|
|
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
`uuid` VARCHAR(191) NOT NULL,
|
|
`name` VARCHAR(191) NULL,
|
|
`accountId` VARCHAR(191) NULL,
|
|
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
`updatedAt` DATETIME(3) NOT NULL,
|
|
`password` VARCHAR(191) NULL,
|
|
`passwordHint` VARCHAR(191) NULL,
|
|
|
|
UNIQUE INDEX `Device_uuid_key`(`uuid`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `AppInstall` (
|
|
`id` VARCHAR(191) NOT NULL,
|
|
`deviceId` INTEGER NOT NULL,
|
|
`appId` VARCHAR(191) NOT NULL,
|
|
`token` VARCHAR(191) NOT NULL,
|
|
`note` VARCHAR(191) NULL,
|
|
`installedAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
`updatedAt` DATETIME(3) NOT NULL,
|
|
|
|
UNIQUE INDEX `AppInstall_token_key`(`token`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE `KVStore` ADD CONSTRAINT `KVStore_deviceId_fkey` FOREIGN KEY (`deviceId`) REFERENCES `Device`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE `Device` ADD CONSTRAINT `Device_accountId_fkey` FOREIGN KEY (`accountId`) REFERENCES `Account`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE `AppInstall` ADD CONSTRAINT `AppInstall_deviceId_fkey` FOREIGN KEY (`deviceId`) REFERENCES `Device`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|