54 lines
1.9 KiB
SQL
54 lines
1.9 KiB
SQL
-- 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;
|