-- 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 "Child" ( "id" SERIAL NOT NULL, "name" TEXT NOT NULL, "birthDate" TIMESTAMP(3) NOT NULL, "userId" TEXT NOT NULL, "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "Child_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "Measurement" ( "id" SERIAL NOT NULL, "childId" INTEGER NOT NULL, "date" TIMESTAMP(3) NOT NULL, "weightKg" DOUBLE PRECISION, "heightCm" DOUBLE PRECISION, CONSTRAINT "Measurement_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "ToothStatus" ( "id" SERIAL NOT NULL, "childId" INTEGER NOT NULL, "toothLabel" TEXT NOT NULL, "date" TIMESTAMP(3) NOT NULL, "status" TEXT NOT NULL, CONSTRAINT "ToothStatus_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "Vaccine" ( "id" SERIAL NOT NULL, "childId" INTEGER NOT NULL, "name" TEXT NOT NULL, "date" TIMESTAMP(3) NOT NULL, "done" BOOLEAN NOT NULL DEFAULT false, "notes" TEXT, CONSTRAINT "Vaccine_pkey" PRIMARY KEY ("id") ); -- CreateIndex CREATE UNIQUE INDEX "User_email_key" ON "User"("email"); -- AddForeignKey ALTER TABLE "Child" ADD CONSTRAINT "Child_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "Measurement" ADD CONSTRAINT "Measurement_childId_fkey" FOREIGN KEY ("childId") REFERENCES "Child"("id") ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "ToothStatus" ADD CONSTRAINT "ToothStatus_childId_fkey" FOREIGN KEY ("childId") REFERENCES "Child"("id") ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "Vaccine" ADD CONSTRAINT "Vaccine_childId_fkey" FOREIGN KEY ("childId") REFERENCES "Child"("id") ON DELETE RESTRICT ON UPDATE CASCADE;