-- CreateTable CREATE TABLE "public"."Comment" ( "id" TEXT NOT NULL, "modelId" TEXT NOT NULL, "authorId" TEXT NOT NULL, "content" TEXT NOT NULL, "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, "updatedAt" TIMESTAMP(3) NOT NULL, CONSTRAINT "Comment_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "public"."Rating" ( "id" TEXT NOT NULL, "modelId" TEXT NOT NULL, "userId" TEXT NOT NULL, "value" INTEGER NOT NULL, "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, "updatedAt" TIMESTAMP(3) NOT NULL, CONSTRAINT "Rating_pkey" PRIMARY KEY ("id") ); -- CreateIndex CREATE INDEX "Comment_modelId_idx" ON "public"."Comment"("modelId"); -- CreateIndex CREATE INDEX "Comment_authorId_idx" ON "public"."Comment"("authorId"); -- CreateIndex CREATE INDEX "Comment_createdAt_idx" ON "public"."Comment"("createdAt"); -- CreateIndex CREATE INDEX "Rating_modelId_idx" ON "public"."Rating"("modelId"); -- CreateIndex CREATE INDEX "Rating_userId_idx" ON "public"."Rating"("userId"); -- CreateIndex CREATE UNIQUE INDEX "Rating_modelId_userId_key" ON "public"."Rating"("modelId", "userId"); -- AddForeignKey ALTER TABLE "public"."Comment" ADD CONSTRAINT "Comment_modelId_fkey" FOREIGN KEY ("modelId") REFERENCES "public"."CircuitModel"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "public"."Comment" ADD CONSTRAINT "Comment_authorId_fkey" FOREIGN KEY ("authorId") REFERENCES "public"."User"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "public"."Rating" ADD CONSTRAINT "Rating_modelId_fkey" FOREIGN KEY ("modelId") REFERENCES "public"."CircuitModel"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "public"."Rating" ADD CONSTRAINT "Rating_userId_fkey" FOREIGN KEY ("userId") REFERENCES "public"."User"("id") ON DELETE CASCADE ON UPDATE CASCADE;