mirror of
https://github.com/ZeroCatDev/ClassworksKV.git
synced 2026-02-03 23:23:10 +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_18048_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_18055_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_18062_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_18069_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_18075_primary" PRIMARY KEY ("deviceid","key")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "idx_18048_account_provider_providerid_key" ON "account"("provider", "providerid");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "idx_18055_appinstall_token_key" ON "appinstall"("token");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "idx_18055_appinstall_deviceid_fkey" ON "appinstall"("deviceid");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "idx_18062_autoauth_deviceid_password_key" ON "autoauth"("deviceid", "password");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "idx_18069_device_uuid_key" ON "device"("uuid");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "idx_18069_device_namespace_key" ON "device"("namespace");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "idx_18069_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;
|
|
|