mirror of
https://github.com/ZeroCatDev/ClassworksKV.git
synced 2026-02-04 07:44:40 +00:00
111 lines
3.5 KiB
SQL
111 lines
3.5 KiB
SQL
-- CreateSchema
|
|
CREATE SCHEMA IF NOT EXISTS "public";
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Account" (
|
|
"id" VARCHAR(191) NOT NULL,
|
|
"provider" VARCHAR(191) NOT NULL,
|
|
"providerId" VARCHAR(191) NOT NULL,
|
|
"email" VARCHAR(191),
|
|
"name" VARCHAR(191),
|
|
"avatarUrl" VARCHAR(191),
|
|
"providerData" JSON,
|
|
"accessToken" TEXT,
|
|
"createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" TIMESTAMPTZ(6) NOT NULL,
|
|
"refreshToken" TEXT,
|
|
"refreshTokenExpiry" TIMESTAMPTZ(6),
|
|
"tokenVersion" INTEGER NOT NULL DEFAULT 1,
|
|
|
|
CONSTRAINT "idx_18303_PRIMARY" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- 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),
|
|
"installedAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" TIMESTAMPTZ(6) NOT NULL,
|
|
"deviceType" VARCHAR(191),
|
|
"isReadOnly" BOOLEAN NOT NULL DEFAULT false,
|
|
|
|
CONSTRAINT "idx_18310_PRIMARY" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "AutoAuth" (
|
|
"id" VARCHAR(191) NOT NULL,
|
|
"deviceId" INTEGER NOT NULL,
|
|
"password" VARCHAR(191),
|
|
"deviceType" VARCHAR(191),
|
|
"isReadOnly" BOOLEAN NOT NULL DEFAULT false,
|
|
"createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" TIMESTAMPTZ(6) NOT NULL,
|
|
|
|
CONSTRAINT "idx_18317_PRIMARY" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Device" (
|
|
"id" INTEGER NOT NULL,
|
|
"uuid" VARCHAR(191) NOT NULL,
|
|
"name" VARCHAR(191),
|
|
"accountId" VARCHAR(191),
|
|
"createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" TIMESTAMPTZ(6) NOT NULL,
|
|
"password" VARCHAR(191),
|
|
"passwordHint" VARCHAR(191),
|
|
"namespace" VARCHAR(191),
|
|
|
|
CONSTRAINT "idx_18324_PRIMARY" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "KVStore" (
|
|
"deviceId" INTEGER NOT NULL,
|
|
"key" VARCHAR(191) NOT NULL,
|
|
"value" JSON NOT NULL,
|
|
"creatorIp" VARCHAR(191) DEFAULT '',
|
|
"createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" TIMESTAMPTZ(6) NOT NULL,
|
|
|
|
CONSTRAINT "idx_18330_PRIMARY" PRIMARY KEY ("deviceId","key")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "idx_18303_Account_provider_providerId_key" ON "Account"("provider", "providerId");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "idx_18310_AppInstall_token_key" ON "AppInstall"("token");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "idx_18310_AppInstall_deviceId_fkey" ON "AppInstall"("deviceId");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "idx_18317_AutoAuth_deviceId_password_key" ON "AutoAuth"("deviceId", "password");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "idx_18324_Device_uuid_key" ON "Device"("uuid");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "idx_18324_Device_namespace_key" ON "Device"("namespace");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "idx_18324_Device_accountId_fkey" ON "Device"("accountId");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "AppInstall" ADD CONSTRAINT "AppInstall_deviceId_fkey" FOREIGN KEY ("deviceId") REFERENCES "Device"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "AutoAuth" ADD CONSTRAINT "AutoAuth_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 "KVStore" ADD CONSTRAINT "KVStore_deviceId_fkey" FOREIGN KEY ("deviceId") REFERENCES "Device"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|