-- Threaded page comments (issue #91). CREATE TABLE "comments" ( "id" TEXT NOT NULL, "page_id" TEXT NOT NULL, "parent_id" TEXT, "author_id" TEXT, "body" TEXT NOT NULL, "anchor" TEXT, "resolved_at" TIMESTAMP(3), "resolved_by" TEXT, "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, "edited_at" TIMESTAMP(3), CONSTRAINT "comments_pkey" PRIMARY KEY ("id") ); CREATE INDEX "comments_page_id_created_at_idx" ON "comments"("page_id", "created_at"); CREATE INDEX "comments_parent_id_idx" ON "comments"("parent_id"); ALTER TABLE "comments" ADD CONSTRAINT "comments_page_id_fkey" FOREIGN KEY ("page_id") REFERENCES "pages"("id") ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE "comments" ADD CONSTRAINT "comments_parent_id_fkey" FOREIGN KEY ("parent_id") REFERENCES "comments"("id") ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE "comments" ADD CONSTRAINT "comments_author_id_fkey" FOREIGN KEY ("author_id") REFERENCES "users"("id") ON DELETE SET NULL ON UPDATE CASCADE;