Seed laeuft beim Start mit, nicht nur die Migration
Prüfung / Lint, Typen, Tests (push) Canceled after 0s
Prüfung / Images bauen (pdf) (push) Canceled after 0s
Prüfung / Images bauen (web) (push) Canceled after 0s
Prüfung / Images bauen (worker) (push) Canceled after 0s
Images / bauen (pdf, docker/pdf.Dockerfile) (push) Canceled after 0s
Images / bauen (web, docker/web.Dockerfile) (push) Canceled after 0s
Images / bauen (worker, docker/worker.Dockerfile) (push) Canceled after 0s
Prüfung / Lint, Typen, Tests (push) Canceled after 0s
Prüfung / Images bauen (pdf) (push) Canceled after 0s
Prüfung / Images bauen (web) (push) Canceled after 0s
Prüfung / Images bauen (worker) (push) Canceled after 0s
Images / bauen (pdf, docker/pdf.Dockerfile) (push) Canceled after 0s
Images / bauen (web, docker/web.Dockerfile) (push) Canceled after 0s
Images / bauen (worker, docker/worker.Dockerfile) (push) Canceled after 0s
Auf einer frischen Datenbank lief nur `migrate deploy`. Die Tabellen standen damit, aber leer: keine Freigabestufen, keine Status-Etiketten, keine Fallarten, keine Nummernkreise. Die Anwendung startet so zwar, aber es laesst sich keine Akte anlegen - es gibt keine Vorlage. Der Seed besteht ausschliesslich aus upserts und darf deshalb bei jedem Start mitlaufen. Dafuer liegen jetzt tsx, der Prisma-Client und der Quelltext des db-Pakets mit im Migrator-Verzeichnis des Images, statt beim Start aus dem Netz geholt zu werden.
This commit is contained in:
+6
-2
@@ -2,7 +2,7 @@
|
||||
# Ablage: /opt/stacks/afis/compose.yaml, .env im eigenen Dockge-Reiter.
|
||||
# Begründung der Entscheidungen in docs/11-betrieb.md:
|
||||
# - keine Einmal- und keine Init-Container, Dockge zeigt beendete Container nicht
|
||||
# - Migrationen laufen im Startkommando von `web`
|
||||
# - Migration und Seed laufen im Startkommando von `web`
|
||||
# - jeder Dienst hat einen Healthcheck, das ist in Dockge die Statusanzeige
|
||||
# - kein Reverse Proxy im Stack: TLS macht ein Proxy davor
|
||||
#
|
||||
@@ -33,7 +33,11 @@ services:
|
||||
restart: unless-stopped
|
||||
# Die Migration läuft im Startkommando, nicht in einem Init-Container.
|
||||
# Die Prisma-CLI liegt im Image unter /app/migrator, es wird nichts nachgeladen.
|
||||
command: sh -c "cd /app/migrator && node node_modules/prisma/build/index.js migrate deploy && cd /app && node web/server.js"
|
||||
command: >
|
||||
sh -c "cd /app/migrator
|
||||
&& node node_modules/prisma/build/index.js migrate deploy
|
||||
&& node node_modules/tsx/dist/cli.mjs prisma/seed.ts
|
||||
&& cd /app && node web/server.js"
|
||||
env_file: .env
|
||||
environment:
|
||||
NODE_ENV: production
|
||||
|
||||
Reference in New Issue
Block a user