Zum Inhalt springen

Environment Diff

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

Schema-Diff-Vergleich


  1. Schema-Analyse: Introspektion beider Umgebungen.
  2. Vergleich: Forward-Only-Semantik — Änderungen von Quelle, die im Ziel fehlen.
  3. Migrationsgenerierung: SQL-Befehle für jede erkannte Änderung.

  • In Quelle, nicht in ZielCREATED
  • In beiden → Feld-für-Feld-Vergleich
  • Nur in ZielNicht als DROPPED angezeigt

Ausnahme: COLUMN_DROPPED wird bei Spaltenänderungen erkannt.


TypBeschreibungBreaking
TABLE_CREATEDTabelle in Quelle, nicht in ZielNein
COLUMN_ADDEDNeue SpalteNein
COLUMN_DROPPEDSpalte entferntJa
COLUMN_TYPE_CHANGEDDatentyp geändertDepende*
COLUMN_NULLABLE_CHANGEDNullable geändertDepende
COLUMN_DEFAULT_CHANGEDDefault geändertNein
INDEX_CREATED / INDEX_DROPPEDIndexNein
ENUM_CREATED / ENUM_VALUE_ADDED / ENUM_VALUE_REMOVEDEnumJa bei Removed
VIEW_CREATED / VIEW_MODIFIEDViewNein
RELATIONSHIP_ADDED / RELATIONSHIP_DROPPEDBeziehungJa bei Dropped

  • Einzelne Änderungen per Checkbox auswählen.
  • Breaking Changes sind standardmäßig nicht vorausgewählt.

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"
}
}