-- CreateEnum CREATE TYPE "RsvpStatus" AS ENUM ('YES', 'NO', 'PENDING'); -- CreateTable CREATE TABLE "User" ( "id" TEXT NOT NULL, "email" TEXT NOT NULL, "name" TEXT, "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "User_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "Event" ( "id" TEXT NOT NULL, "name" TEXT NOT NULL, "date" TIMESTAMP(3), "location" TEXT, "creatorId" TEXT NOT NULL, "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "Event_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "Guest" ( "id" TEXT NOT NULL, "eventId" TEXT NOT NULL, "name" TEXT NOT NULL, "email" TEXT, "rsvp" "RsvpStatus" NOT NULL DEFAULT 'PENDING', CONSTRAINT "Guest_pkey" PRIMARY KEY ("id") ); -- CreateIndex CREATE UNIQUE INDEX "User_email_key" ON "User"("email"); -- AddForeignKey ALTER TABLE "Event" ADD CONSTRAINT "Event_creatorId_fkey" FOREIGN KEY ("creatorId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "Guest" ADD CONSTRAINT "Guest_eventId_fkey" FOREIGN KEY ("eventId") REFERENCES "Event"("id") ON DELETE RESTRICT ON UPDATE CASCADE;