-- CreateTable CREATE TABLE "CuratorComment" ( "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "playerIdentifier" TEXT NOT NULL, "puzzleId" INTEGER NOT NULL, "genreId" INTEGER, "message" TEXT NOT NULL, "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "CuratorComment_puzzleId_fkey" FOREIGN KEY ("puzzleId") REFERENCES "DailyPuzzle" ("id") ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT "CuratorComment_genreId_fkey" FOREIGN KEY ("genreId") REFERENCES "Genre" ("id") ON DELETE SET NULL ON UPDATE CASCADE ); -- CreateTable CREATE TABLE "CuratorCommentRecipient" ( "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "commentId" INTEGER NOT NULL, "curatorId" INTEGER NOT NULL, "readAt" DATETIME, CONSTRAINT "CuratorCommentRecipient_commentId_fkey" FOREIGN KEY ("commentId") REFERENCES "CuratorComment" ("id") ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT "CuratorCommentRecipient_curatorId_fkey" FOREIGN KEY ("curatorId") REFERENCES "Curator" ("id") ON DELETE CASCADE ON UPDATE CASCADE ); -- CreateIndex CREATE UNIQUE INDEX "CuratorComment_playerIdentifier_puzzleId_key" ON "CuratorComment"("playerIdentifier", "puzzleId"); -- CreateIndex CREATE INDEX "CuratorComment_genreId_idx" ON "CuratorComment"("genreId"); -- CreateIndex CREATE UNIQUE INDEX "CuratorCommentRecipient_commentId_curatorId_key" ON "CuratorCommentRecipient"("commentId", "curatorId"); -- CreateIndex CREATE INDEX "CuratorCommentRecipient_curatorId_idx" ON "CuratorCommentRecipient"("curatorId");