41 lines
1.1 KiB
SQL
41 lines
1.1 KiB
SQL
-- CreateEnum
|
|
CREATE TYPE "Role" AS ENUM ('SUPER_ADMIN', 'ADMIN');
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "AdminUser" (
|
|
"id" TEXT NOT NULL,
|
|
"username" TEXT NOT NULL,
|
|
"passwordHash" TEXT NOT NULL,
|
|
"role" "Role" NOT NULL DEFAULT 'ADMIN',
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "AdminUser_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Code" (
|
|
"id" TEXT NOT NULL,
|
|
"code" TEXT NOT NULL,
|
|
"createdById" TEXT NOT NULL,
|
|
"usedByUserId" TEXT,
|
|
"usedAt" TIMESTAMP(3),
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "Code_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "AdminUser_username_key" ON "AdminUser"("username");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "Code_code_key" ON "Code"("code");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "Code_code_idx" ON "Code"("code");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "Code_usedByUserId_idx" ON "Code"("usedByUserId");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "Code" ADD CONSTRAINT "Code_createdById_fkey" FOREIGN KEY ("createdById") REFERENCES "AdminUser"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|