diff --git a/server/prisma/migrations/0_init/migration.sql b/server/prisma/migrations/0_init/migration.sql new file mode 100644 index 0000000..b7f7d50 --- /dev/null +++ b/server/prisma/migrations/0_init/migration.sql @@ -0,0 +1,71 @@ +-- CreateTable +CREATE TABLE "Project" ( + "id" VARCHAR(21) NOT NULL, + "name" TEXT NOT NULL, + "startDate" TIMESTAMP(3) NOT NULL, + "endDate" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "Project_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "AllowedRange" ( + "id" TEXT NOT NULL, + "startTime" TIMESTAMP(3) NOT NULL, + "endTime" TIMESTAMP(3) NOT NULL, + "projectId" TEXT NOT NULL, + + CONSTRAINT "AllowedRange_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Slot" ( + "id" TEXT NOT NULL, + "from" TIMESTAMP(3) NOT NULL, + "to" TIMESTAMP(3) NOT NULL, + "projectId" TEXT NOT NULL, + "guestId" TEXT NOT NULL, + + CONSTRAINT "Slot_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Host" ( + "id" TEXT NOT NULL, + "browserId" TEXT NOT NULL, + "projectId" TEXT NOT NULL, + + CONSTRAINT "Host_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Guest" ( + "id" TEXT NOT NULL, + "name" TEXT NOT NULL, + "browserId" TEXT NOT NULL, + "projectId" TEXT NOT NULL, + + CONSTRAINT "Guest_pkey" PRIMARY KEY ("id") +); + +-- CreateIndex +CREATE UNIQUE INDEX "Host_browserId_projectId_key" ON "Host"("browserId", "projectId"); + +-- CreateIndex +CREATE UNIQUE INDEX "Guest_browserId_projectId_key" ON "Guest"("browserId", "projectId"); + +-- AddForeignKey +ALTER TABLE "AllowedRange" ADD CONSTRAINT "AllowedRange_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "Project"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Slot" ADD CONSTRAINT "Slot_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "Project"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Slot" ADD CONSTRAINT "Slot_guestId_fkey" FOREIGN KEY ("guestId") REFERENCES "Guest"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Host" ADD CONSTRAINT "Host_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "Project"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Guest" ADD CONSTRAINT "Guest_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "Project"("id") ON DELETE CASCADE ON UPDATE CASCADE; +