Feat: optionaler Demo-Seed im migrate-Job via RUN_DEMO_SEED (Testserver)
Der migrate-Container beendet sich nach 'migrate deploy' (restart:no) und der app-Container hat kein tsx/keine Seed-Dateien -> manueller Seed unpraktisch. Lösung: migrate führt bei RUN_DEMO_SEED=true nach der Migration den idempotenten Demo-Seed aus (admin@demo.example / Demo1234!). In Prod die Variable weglassen. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -8,13 +8,16 @@
|
||||
services:
|
||||
# Einmaliger Migrations-Job. Nutzt die builder-Stage (volle node_modules inkl.
|
||||
# Prisma-CLI/tsx), da die runner-Stage kein Prisma-CLI enthält. Idempotent.
|
||||
# Optionaler Demo-Seed nur, wenn RUN_DEMO_SEED=true (Testserver) — der Seed ist
|
||||
# idempotent (upserts). In Produktion die Variable NICHT setzen.
|
||||
migrate:
|
||||
build:
|
||||
context: .
|
||||
target: builder
|
||||
command: sh -c "npx prisma migrate deploy"
|
||||
command: sh -c "npx prisma migrate deploy && if [ \"$$RUN_DEMO_SEED\" = \"true\" ]; then echo '>> Demo-Seed läuft…'; npx tsx prisma/seed.ts; else echo '>> Demo-Seed übersprungen (RUN_DEMO_SEED != true)'; fi"
|
||||
environment:
|
||||
DATABASE_URL: ${DATABASE_URL}
|
||||
RUN_DEMO_SEED: ${RUN_DEMO_SEED:-false}
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
|
||||
Reference in New Issue
Block a user