dorfteich/apps/api/prisma/migrations/20260709062007_page_versions/migration.sql
Claude Opus 4.8 3583a046a2
All checks were successful
CD / Build and push images (push) Successful in 2m17s
CI / Lint, typecheck, test (push) Successful in 2m1s
CI / Auth e2e pack (push) Successful in 2m23s
CI / Build container images (push) Has been skipped
CD / Deploy to Test (push) Successful in 8s
CD / Smoke tests against Test (push) Successful in 1m18s
CD / Promote to Int (push) Successful in 11s
Fix compaction test Bytes typing for strict typecheck (#40)
Prisma's Bytes input is Uint8Array<ArrayBuffer>; a Buffer (ArrayBufferLike)
does not satisfy it under strict types. The vitest run (esbuild, no
type-check) and nest build (excludes test files) both passed locally, so
`tsc --noEmit` in CI was the first to see it. Use a fresh Uint8Array copy in
the test fixtures.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PGdhRiwU1WRL4XxJfZYipY
2026-07-09 08:23:55 +02:00

33 lines
1.1 KiB
SQL

-- 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;