-- CreateEnum CREATE TYPE "UserRole" AS ENUM ('PARENT', 'READONLY', 'DOCTOR'); -- AlterTable ALTER TABLE "User" ADD COLUMN "isSuperAdmin" BOOLEAN NOT NULL DEFAULT false, ADD COLUMN "pushoverUserKey" TEXT, ADD COLUMN "role" "UserRole" NOT NULL DEFAULT 'PARENT'; -- CreateTable CREATE TABLE "PasswordResetToken" ( "id" TEXT NOT NULL, "userId" TEXT NOT NULL, "token" TEXT NOT NULL, "expiresAt" TIMESTAMP(3) NOT NULL, "used" BOOLEAN NOT NULL DEFAULT false, "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "PasswordResetToken_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "SystemConfig" ( "key" TEXT NOT NULL, "value" TEXT NOT NULL, "updatedAt" TIMESTAMP(3) NOT NULL, CONSTRAINT "SystemConfig_pkey" PRIMARY KEY ("key") ); -- CreateTable CREATE TABLE "DoctorNote" ( "id" TEXT NOT NULL, "babyId" TEXT NOT NULL, "userId" TEXT NOT NULL, "content" TEXT NOT NULL, "date" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "DoctorNote_pkey" PRIMARY KEY ("id") ); -- CreateIndex CREATE UNIQUE INDEX "PasswordResetToken_token_key" ON "PasswordResetToken"("token"); -- AddForeignKey ALTER TABLE "PasswordResetToken" ADD CONSTRAINT "PasswordResetToken_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "DoctorNote" ADD CONSTRAINT "DoctorNote_babyId_fkey" FOREIGN KEY ("babyId") REFERENCES "Baby"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "DoctorNote" ADD CONSTRAINT "DoctorNote_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE;