Das Datenbankschema ist ein Vertrag zwischen Code und Daten. Im Prototyp wird er oft der Geschwindigkeit geopfert — bezahlt wird das beim ersten Traffic-Spike.

Indizes und Constraints

Jeder Foreign Key, jede Unique- und Check-Constraint ist eine dokumentierte Regel, die die Datenbank für dich durchsetzt. Ohne sie verteilt sich die Business-Logik über die Codebase und bricht unter Race Conditions zusammen.

Migrationen als Historie

Migrationen sollten, wo möglich, reversibel und beim Deploy idempotent sein. Manuelle Eingriffe in Prod sind technische Schuld, die nie im Git-Blame auftaucht.

Transaktionen an den Grenzen

Zusammengehörige Änderungen in einer Transaktion bündeln. Kann eine Operation nicht atomar sein — kompensierende Maßnahmen explizit entwerfen.