feat(seed): prod-safe seed:job-kind-config (only JobKindConfig, incl. DEPLOY) #101

Merged
janpeter merged 1 commit from feat/seed-job-kind-config into main 2026-07-04 16:48:51 +02:00
Owner

Waarom

De volledige npm run seed (prisma/seed.ts) is niet prod-safe: op een deploy-clone crasht hij op loadBacklog (docs/scrum4me-backlog.md zit niet in de repo) vóór de JobKindConfig-upsert, en hij schrijft demo-users/producten. Tijdens de M17 Fase-4-rollout kon de DEPLOY job_kind_config-rij daardoor niet via npm run seed geseed worden, en een partial run maakte een stray demo-product op prod.

Wat

Standalone seed:job-kind-config die alleen JOB_KIND_CONFIG_SEED upsert (alle 11 kinds incl. DEPLOY) — idempotent, geen demo-data, geen backlog-dependency. Upsert-logica 1:1 met prisma/seed.ts; runner-vorm gespiegeld op prisma/seed-content-policies.ts (dotenv + PrismaPg-adapter + --dry-run).

Dit is exact het script waarmee de DEPLOY-rij live is geseed (Fase 4, prod-safe). -- --dry-run valideert import-resolutie + toont de rijen zonder DB-write.

🤖 Generated with Claude Code

## Waarom De volledige `npm run seed` (`prisma/seed.ts`) is **niet prod-safe**: op een deploy-clone crasht hij op `loadBacklog` (`docs/scrum4me-backlog.md` zit niet in de repo) **vóór** de JobKindConfig-upsert, en hij schrijft demo-users/producten. Tijdens de M17 Fase-4-rollout kon de DEPLOY `job_kind_config`-rij daardoor niet via `npm run seed` geseed worden, en een partial run maakte een stray demo-product op prod. ## Wat Standalone `seed:job-kind-config` die **alleen** `JOB_KIND_CONFIG_SEED` upsert (alle 11 kinds incl. DEPLOY) — idempotent, geen demo-data, geen backlog-dependency. Upsert-logica 1:1 met `prisma/seed.ts`; runner-vorm gespiegeld op `prisma/seed-content-policies.ts` (dotenv + PrismaPg-adapter + `--dry-run`). Dit is exact het script waarmee de DEPLOY-rij live is geseed (Fase 4, prod-safe). `-- --dry-run` valideert import-resolutie + toont de rijen zonder DB-write. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
feat(seed): prod-safe seed:job-kind-config (only JobKindConfig, incl. DEPLOY)
All checks were successful
CI / Lint, Typecheck, Test & Build (pull_request) Successful in 3m57s
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
680bb2068b
The full `npm run seed` (prisma/seed.ts) is not prod-safe: on a deploy-clone it
crashes at loadBacklog (docs/scrum4me-backlog.md is not in the repo) *before*
reaching the JobKindConfig upsert, and it also writes demo users/products.
During the M17 Fase-4 rollout that meant the DEPLOY job_kind_config row could
not be seeded via `npm run seed`, and a partial run created a stray demo product
on prod.

This adds a standalone `seed:job-kind-config` that upserts ONLY
JOB_KIND_CONFIG_SEED (all 11 kinds incl. DEPLOY) — idempotent, no demo data, no
backlog dependency. Upsert logic is 1:1 with prisma/seed.ts; runner shape mirrors
prisma/seed-content-policies.ts (dotenv + PrismaPg adapter + `--dry-run`).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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!101
No description provided.