Initial commit
This commit is contained in:
@@ -0,0 +1,208 @@
|
||||
-- CreateEnum
|
||||
CREATE TYPE "public"."UserRole" AS ENUM ('USER', 'CREATOR', 'ADMIN');
|
||||
|
||||
-- CreateEnum
|
||||
CREATE TYPE "public"."TextType" AS ENUM ('TEXT', 'WORD', 'NUMBER', 'INTEGER');
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "public"."User" (
|
||||
"id" SERIAL NOT NULL,
|
||||
"email" TEXT NOT NULL,
|
||||
"name" TEXT NOT NULL,
|
||||
"role" "public"."UserRole" NOT NULL,
|
||||
"emailConfirmedAt" TIMESTAMPTZ(3),
|
||||
"deactivated" BOOLEAN NOT NULL DEFAULT false,
|
||||
"createdAt" TIMESTAMPTZ(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" TIMESTAMPTZ(3) NOT NULL,
|
||||
"deletedAt" TIMESTAMPTZ(3),
|
||||
|
||||
CONSTRAINT "User_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "public"."UserLoginLinks" (
|
||||
"id" SERIAL NOT NULL,
|
||||
"secret" TEXT NOT NULL,
|
||||
"used" BOOLEAN NOT NULL DEFAULT false,
|
||||
"userId" INTEGER NOT NULL,
|
||||
"createdAt" TIMESTAMPTZ(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "UserLoginLinks_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "public"."Hunt" (
|
||||
"id" SERIAL NOT NULL,
|
||||
"name" TEXT NOT NULL,
|
||||
"description" TEXT NOT NULL,
|
||||
"virtual" BOOLEAN NOT NULL DEFAULT false,
|
||||
"start" TIMESTAMPTZ(3),
|
||||
"end" TIMESTAMPTZ(3),
|
||||
"allowJoin" BOOLEAN NOT NULL DEFAULT false,
|
||||
"revealPictures" BOOLEAN NOT NULL DEFAULT false,
|
||||
"revealAnswers" BOOLEAN NOT NULL DEFAULT false,
|
||||
"creatorId" INTEGER NOT NULL,
|
||||
"createdAt" TIMESTAMPTZ(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" TIMESTAMPTZ(3) NOT NULL,
|
||||
"deletedAt" TIMESTAMPTZ(3),
|
||||
|
||||
CONSTRAINT "Hunt_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "public"."HuntMember" (
|
||||
"huntId" INTEGER NOT NULL,
|
||||
"memberId" INTEGER NOT NULL,
|
||||
"createdAt" TIMESTAMPTZ(3) NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "public"."HuntTeam" (
|
||||
"id" SERIAL NOT NULL,
|
||||
"name" TEXT NOT NULL,
|
||||
"description" TEXT NOT NULL DEFAULT '',
|
||||
"password" TEXT NOT NULL DEFAULT '',
|
||||
"huntId" INTEGER NOT NULL,
|
||||
"ownerId" INTEGER NOT NULL,
|
||||
"createdAt" TIMESTAMPTZ(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "HuntTeam_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "public"."TeamMember" (
|
||||
"teamId" INTEGER NOT NULL,
|
||||
"memberId" INTEGER NOT NULL,
|
||||
"createdAt" TIMESTAMPTZ(3) NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "public"."HuntQuest" (
|
||||
"id" SERIAL NOT NULL,
|
||||
"title" TEXT NOT NULL,
|
||||
"description" TEXT NOT NULL DEFAULT '',
|
||||
"question" TEXT,
|
||||
"image" TEXT,
|
||||
"location" TEXT,
|
||||
"locationLink" TEXT,
|
||||
"order" INTEGER NOT NULL DEFAULT 0,
|
||||
"optional" BOOLEAN NOT NULL DEFAULT true,
|
||||
"pictureRequired" BOOLEAN NOT NULL DEFAULT false,
|
||||
"textRequired" BOOLEAN NOT NULL DEFAULT false,
|
||||
"textType" "public"."TextType" NOT NULL DEFAULT 'TEXT',
|
||||
"textUnit" TEXT,
|
||||
"textSolution" TEXT,
|
||||
"points" SMALLINT NOT NULL DEFAULT 10,
|
||||
"extraPoints" SMALLINT,
|
||||
"extraText" TEXT,
|
||||
"huntId" INTEGER NOT NULL,
|
||||
|
||||
CONSTRAINT "HuntQuest_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "public"."QuestAnswer" (
|
||||
"id" SERIAL NOT NULL,
|
||||
"text" TEXT,
|
||||
"picture" TEXT,
|
||||
"location" TEXT,
|
||||
"lat" DECIMAL(10,8),
|
||||
"lon" DECIMAL(10,8),
|
||||
"teamId" INTEGER NOT NULL,
|
||||
"memberId" INTEGER NOT NULL,
|
||||
"questId" INTEGER NOT NULL,
|
||||
"createdAt" TIMESTAMPTZ(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" TIMESTAMPTZ(3) NOT NULL,
|
||||
"reviewerId" INTEGER,
|
||||
"score" SMALLINT,
|
||||
"review" TEXT,
|
||||
|
||||
CONSTRAINT "QuestAnswer_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "User_email_key" ON "public"."User"("email");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "Hunt_creatorId_idx" ON "public"."Hunt"("creatorId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "HuntMember_memberId_huntId_idx" ON "public"."HuntMember"("memberId", "huntId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "HuntMember_memberId_idx" ON "public"."HuntMember"("memberId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "HuntMember_huntId_idx" ON "public"."HuntMember"("huntId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "HuntMember_memberId_huntId_key" ON "public"."HuntMember"("memberId", "huntId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "HuntTeam_ownerId_idx" ON "public"."HuntTeam"("ownerId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "HuntTeam_huntId_idx" ON "public"."HuntTeam"("huntId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "TeamMember_teamId_idx" ON "public"."TeamMember"("teamId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "TeamMember_memberId_idx" ON "public"."TeamMember"("memberId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "TeamMember_memberId_teamId_idx" ON "public"."TeamMember"("memberId", "teamId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "TeamMember_memberId_teamId_key" ON "public"."TeamMember"("memberId", "teamId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "HuntQuest_huntId_idx" ON "public"."HuntQuest"("huntId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "QuestAnswer_teamId_idx" ON "public"."QuestAnswer"("teamId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "QuestAnswer_memberId_idx" ON "public"."QuestAnswer"("memberId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "QuestAnswer_questId_idx" ON "public"."QuestAnswer"("questId");
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."UserLoginLinks" ADD CONSTRAINT "UserLoginLinks_userId_fkey" FOREIGN KEY ("userId") REFERENCES "public"."User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."Hunt" ADD CONSTRAINT "Hunt_creatorId_fkey" FOREIGN KEY ("creatorId") REFERENCES "public"."User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."HuntMember" ADD CONSTRAINT "HuntMember_huntId_fkey" FOREIGN KEY ("huntId") REFERENCES "public"."Hunt"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."HuntMember" ADD CONSTRAINT "HuntMember_memberId_fkey" FOREIGN KEY ("memberId") REFERENCES "public"."User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."HuntTeam" ADD CONSTRAINT "HuntTeam_huntId_fkey" FOREIGN KEY ("huntId") REFERENCES "public"."Hunt"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."HuntTeam" ADD CONSTRAINT "HuntTeam_ownerId_fkey" FOREIGN KEY ("ownerId") REFERENCES "public"."User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."TeamMember" ADD CONSTRAINT "TeamMember_teamId_fkey" FOREIGN KEY ("teamId") REFERENCES "public"."HuntTeam"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."TeamMember" ADD CONSTRAINT "TeamMember_memberId_fkey" FOREIGN KEY ("memberId") REFERENCES "public"."User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."HuntQuest" ADD CONSTRAINT "HuntQuest_huntId_fkey" FOREIGN KEY ("huntId") REFERENCES "public"."Hunt"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."QuestAnswer" ADD CONSTRAINT "QuestAnswer_teamId_fkey" FOREIGN KEY ("teamId") REFERENCES "public"."HuntTeam"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."QuestAnswer" ADD CONSTRAINT "QuestAnswer_memberId_fkey" FOREIGN KEY ("memberId") REFERENCES "public"."User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."QuestAnswer" ADD CONSTRAINT "QuestAnswer_questId_fkey" FOREIGN KEY ("questId") REFERENCES "public"."HuntQuest"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."QuestAnswer" ADD CONSTRAINT "QuestAnswer_reviewerId_fkey" FOREIGN KEY ("reviewerId") REFERENCES "public"."User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
@@ -0,0 +1,3 @@
|
||||
# Please do not edit this file manually
|
||||
# It should be added in your version-control system (e.g., Git)
|
||||
provider = "postgresql"
|
||||
Reference in New Issue
Block a user