Environment Diff
Environment Diff vergleicht die Datenbankschemas zweier Umgebungen nebeneinander. Nützlich vor dem Merge oder zur Prüfung struktureller Unterschiede.

- Schema-Analyse: Introspektion beider Umgebungen.
- Vergleich: Forward-Only-Semantik — Änderungen von Quelle, die im Ziel fehlen.
- Migrationsgenerierung: SQL-Befehle für jede erkannte Änderung.
Forward-Only-Semantik
Abschnitt betitelt „Forward-Only-Semantik“- In Quelle, nicht in Ziel →
CREATED - In beiden → Feld-für-Feld-Vergleich
- Nur in Ziel → Nicht als
DROPPEDangezeigt
Ausnahme: COLUMN_DROPPED wird bei Spaltenänderungen erkannt.
Änderungstypen
Abschnitt betitelt „Änderungstypen“| Typ | Beschreibung | Breaking |
|---|---|---|
TABLE_CREATED | Tabelle in Quelle, nicht in Ziel | Nein |
COLUMN_ADDED | Neue Spalte | Nein |
COLUMN_DROPPED | Spalte entfernt | Ja |
COLUMN_TYPE_CHANGED | Datentyp geändert | Depende* |
COLUMN_NULLABLE_CHANGED | Nullable geändert | Depende |
COLUMN_DEFAULT_CHANGED | Default geändert | Nein |
INDEX_CREATED / INDEX_DROPPED | Index | Nein |
ENUM_CREATED / ENUM_VALUE_ADDED / ENUM_VALUE_REMOVED | Enum | Ja bei Removed |
VIEW_CREATED / VIEW_MODIFIED | View | Nein |
RELATIONSHIP_ADDED / RELATIONSHIP_DROPPED | Beziehung | Ja bei Dropped |
Cherry-Pick-Auswahl
Abschnitt betitelt „Cherry-Pick-Auswahl“- Einzelne Änderungen per Checkbox auswählen.
- Breaking Changes sind standardmäßig nicht vorausgewählt.
GraphQL API
Abschnitt betitelt „GraphQL API“Query: environmentDiff
Abschnitt betitelt „Query: environmentDiff“query EnvironmentDiff($input: EnvironmentDiffInput!) { environmentDiff(input: $input) { success message changes { changeType objectType objectName fieldName oldValue newValue isBreaking sql } summary { totalChanges breakingChanges addedTables droppedTables modifiedTables } }}Variables:
{ "input": { "projectId": "f7e4a264-d659-4719-91e8-c2d74654e529", "sourceEnvironment": "master", "targetEnvironment": "staging" }}