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.