Eine Datenbank-Migration hinzufügen
SupaCloud verwendet sequenzielle, nummerierte SQL-Migrationen in server/migrations/.
Schritte
Abschnitt betitelt „Schritte“-
Finde die nächste Nummer — sicher. Migrationsnummern sind ein gemeinsam genutzter Namensraum über parallel arbeitende Entwickler und Worktrees hinweg. Bevor du eine Nummer auswählst:
Terminal window git fetchls server/migrations/ # höchste Nummer auf main ermittelnDurchsuche außerdem alle benachbarten Worktrees. Nimm dann die nächste freie Nummer.
-
Füge die Datei als
NNN_short_description.sqlinserver/migrations/hinzu. -
Halte geschlossene CHECK-Vokabulare ausführbar. Benennt eine Migration einen gespeicherten Wert in einen Wert um, den der alte
CHECK (... IN (...))nicht erlaubt, ist diese Reihenfolge zwingend: DROP CHECK → UPDATE der alten Zeilen → ADD CHECK. Eine Löschung oder ein Rewrite auf einen bereits vom alten CHECK erlaubten Wert darf vor dem engeren CHECK erfolgen. Der eingecheckte Guard findet die unsichere Rename-Reihenfolge:Terminal window python3 scripts/check-migration-check-order.py --self-testpython3 scripts/check-migration-check-order.pyErgänze bei möglichen Altwerten immer einen Seed-Upgrade-Test; eine leere Datenbank kann diese Fehlerklasse nicht aufdecken.
-
Verifiziere, dass sie angewendet wird und der Server weiterhin typgeprüft wird:
Terminal window cd server && cargo check