-- CreateEnum CREATE TYPE "PageVersionTrigger" AS ENUM ('AUTO', 'MANUAL', 'PRE_RESTORE'); -- CreateTable CREATE TABLE "page_versions" ( "id" TEXT NOT NULL, "page_id" TEXT NOT NULL, "ydoc_snapshot" BYTEA NOT NULL, "trigger" "PageVersionTrigger" NOT NULL, "label" TEXT, "contributor_ids" TEXT[], "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "page_versions_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "page_pending_contributors" ( "page_id" TEXT NOT NULL, "user_id" TEXT NOT NULL, CONSTRAINT "page_pending_contributors_pkey" PRIMARY KEY ("page_id","user_id") ); -- CreateIndex CREATE INDEX "page_versions_page_id_created_at_idx" ON "page_versions"("page_id", "created_at"); -- AddForeignKey ALTER TABLE "page_versions" ADD CONSTRAINT "page_versions_page_id_fkey" FOREIGN KEY ("page_id") REFERENCES "pages"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "page_pending_contributors" ADD CONSTRAINT "page_pending_contributors_page_id_fkey" FOREIGN KEY ("page_id") REFERENCES "pages"("id") ON DELETE CASCADE ON UPDATE CASCADE;