feat(db): Product.content_policy migration (sub-project C, Phase 1) #83

Merged
janpeter merged 1 commit from feat/copilot-content-policy-migration into main 2026-06-14 09:08:15 +02:00
Owner

Sub-project C, Phase 1 — authors the live-DB migration for Product.content_policy (Phase 0's canonical field, scrum4me-shared #16).

What

  • Bumps vendor/scrum4me-shared submodule e29f3cd → 9a0a0bd (only delta: PR #16content_policy field + checker; verified the schema diff is exactly the 3-line addition, no other drift).
  • prisma/schema.prisma regenerated via gen-schema.sh → gains Product.content_policy Json?.
  • prisma/migrations/20260614090411_add_product_content_policy/migration.sql — hand-authored (no local DB): ALTER TABLE "products" ADD COLUMN "content_policy" JSONB. Additive, nullable, no NOT NULL / DEFAULT (metadata-only in Postgres: no table rewrite, short catalog lock, no backfill).

Deploy — 154's lane (plan Task M2)

Scrum4Me-web is the sole migrate deploy owner (mcp/workers have no migrations dir, only prisma generate). After merge, 154 runs prisma migrate deploy on the live DB. Per the migrate-first rule this must land before any code that reads/writes content_policy (Phase-2 mcp/web gates + Phase-3 DigiPlein seed). A pure shared-bump (checker + typings, enforcement not wired) is itself safe pre-migration.

Verify

Local full-verify skipped (worktree has no node_modules; verify also needs next-env.d.ts/manual:build) — CI + 154 verify in-context. The change is a verified additive nullable column.

🤖 Generated with Claude Code

**Sub-project C, Phase 1** — authors the live-DB migration for `Product.content_policy` (Phase 0's canonical field, scrum4me-shared #16). ## What - Bumps `vendor/scrum4me-shared` submodule `e29f3cd → 9a0a0bd` (only delta: PR #16 — `content_policy` field + checker; verified the schema diff is exactly the 3-line addition, no other drift). - `prisma/schema.prisma` regenerated via `gen-schema.sh` → gains `Product.content_policy Json?`. - `prisma/migrations/20260614090411_add_product_content_policy/migration.sql` — hand-authored (no local DB): `ALTER TABLE "products" ADD COLUMN "content_policy" JSONB`. Additive, nullable, **no NOT NULL / DEFAULT** (metadata-only in Postgres: no table rewrite, short catalog lock, no backfill). ## Deploy — 154's lane (plan Task M2) Scrum4Me-web is the **sole** `migrate deploy` owner (mcp/workers have no migrations dir, only `prisma generate`). After merge, 154 runs `prisma migrate deploy` on the live DB. Per the migrate-first rule this must land **before** any code that reads/writes `content_policy` (Phase-2 mcp/web gates + Phase-3 DigiPlein seed). A pure shared-bump (checker + typings, enforcement not wired) is itself safe pre-migration. ## Verify Local full-verify skipped (worktree has no `node_modules`; `verify` also needs `next-env.d.ts`/`manual:build`) — CI + 154 verify in-context. The change is a verified additive nullable column. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
feat(db): Product.content_policy migration + bump shared submodule to 9a0a0bd (sub-project C, Phase 1)
All checks were successful
CI / Lint, Typecheck, Test & Build (pull_request) Successful in 4m50s
CI / Deploy Manual (workflow_dispatch) (pull_request) Has been skipped
CI / Detect deploy-relevant changes (pull_request) Has been skipped
CI / Deploy Preview (PR) (pull_request) Has been skipped
CI / Deploy Production (main) (pull_request) Has been skipped
d6c9e65e92
Bumps vendor/scrum4me-shared e29f3cd -> 9a0a0bd (only delta: PR #16 content_policy +
checker). gen-schema regenerates prisma/schema.prisma with the new field (diff is the
3-line content_policy addition, nothing else). Hand-authored migration (no local DB):
ALTER TABLE products ADD COLUMN content_policy JSONB — additive, nullable, no NOT NULL/
DEFAULT (metadata-only in Postgres, no backfill). Scrum4Me-web is the sole migrate-deploy
owner. Live migrate deploy = 154's lane (Task M2).
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
janpeter/Scrum4Me!83
No description provided.