Vollständiges Datenmodell in deutscher Benennung: 20 Tabellen, 9 Aufzählungen, eine Migration, dazu die framework-freien Helfer für tagCodes und Geheimnisse. Regeln stehen zusätzlich in der Datenbank, nicht nur im Service: 12 CHECKs, 2 partielle Eindeutigkeitsindizes, 4 zusammengesetzte Fremdschlüssel. Die Mandantengrenze ist damit strukturell erzwungen. Schrittergebnisse, Kommentare und Protokolleinträge kaskadieren bewusst nicht — das Archiv ist das Gedächtnis der Anwendung. 106 Tests, davon 42 gegen die echten Datenbankregeln. Closes #6 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
28 lines
764 B
YAML
28 lines
764 B
YAML
# Nur fuer die Entwicklung: PostgreSQL auf einem eigenen Port, damit ein lokales
|
||
# 5432 und die Datenbanken anderer Projekte frei bleiben. Den Port bei Bedarf
|
||
# ueber DEV_DB_PORT umstellen.
|
||
# Diese Datei niemals im Betrieb verwenden – dort ist die Datenbank absichtlich zu.
|
||
|
||
name: laufzettel-dev
|
||
|
||
services:
|
||
postgres:
|
||
image: postgres:17-alpine
|
||
restart: unless-stopped
|
||
environment:
|
||
POSTGRES_USER: laufzettel
|
||
POSTGRES_PASSWORD: laufzettel
|
||
POSTGRES_DB: laufzettel
|
||
ports:
|
||
- "127.0.0.1:${DEV_DB_PORT:-5434}:5432"
|
||
volumes:
|
||
- datenbank-dev:/var/lib/postgresql/data
|
||
healthcheck:
|
||
test: ["CMD-SHELL", "pg_isready -U laufzettel"]
|
||
interval: 5s
|
||
timeout: 5s
|
||
retries: 10
|
||
|
||
volumes:
|
||
datenbank-dev:
|