Generator für Datenbankmigrationen — Schema-Diff zu Up- / Down-SQL
Generator für Datenbankmigrationen
Fügen Sie das aktuelle Schema links und das Zielschema rechts ein — entweder als CREATE TABLE-DDL oder als Schema-JSON aus dem ERD-Designer — und erzeugen Sie dann ein Vorwärtsskript (up) sowie das passende Rückrollskript (down): neue und gelöschte Tabellen, hinzugefügte, entfernte und geänderte Spalten sowie Änderungen an Fremdschlüsseln, quotiert für MySQL, PostgreSQL, SQL Server, SQLite, Oracle oder Standard-SQL. Nichts wird hochgeladen; der Vergleich läuft in Ihrem Browser.
1 — Vorher (aktuelles Schema)
2 — Nachher (Zielschema)
3 — Migration erzeugen
Die Anweisungen sind pro Tabelle gruppiert; prüfen Sie die Ausgabe, bevor Sie sie ausführen.
Noch kein Diff erzeugt.
Umfang: Dies ist ein strukturelles Diff von Tabellen, Spalten, Primärschlüsseln, Nullbarkeit, Standardwerten und Fremdschlüsseln. Indizes, Trigger, Sichten und Datenmigrationen liegen außerhalb des Umfangs und müssen von Hand ergänzt werden. SQLite kann eine Spalte nicht direkt ändern; diese Änderungen werden daher als Kommentar ausgegeben, der Sie auffordert, die Tabelle neu anzulegen.
Was ist eine Datenbankmigration?
Eine Migration ist ein versioniertes Skript, das ein Datenbankschema verändert: diese Tabelle anlegen, jene Spalte hinzufügen, einen Index entfernen. Teams wenden Migrationen in fester Reihenfolge an, damit jede Umgebung — Entwicklung, Staging, Produktion — denselben Weg von Version zu Version geht, statt von Hand in Zustände gebracht zu werden, die nicht mehr zum Code passen. Jede Migration besteht üblicherweise aus zwei Hälften: up wendet die Änderung an, down macht sie rückgängig, sodass ein fehlerhaftes Release genauso zurückgerollt werden kann, wie es eingespielt wurde.
Migrationen, die Tabellen oder Spalten löschen, sind destruktiv — das Down-Skript kann gelöschte Daten nicht wiederherstellen. Sichern Sie vor dem Ausführen einer Migration, die etwas entfernt, zumindest die betroffenen Tabellen.