Environment Diff
Environment Diff confronta gli schemi di database di due ambienti affiancati. Utile prima di un merge o per audit delle differenze strutturali.

Funzionamento
Sezione intitolata “Funzionamento”- Analisi schema: Introspezione di entrambi gli ambienti.
- Confronto: Semantica forward-only — modifiche dalla sorgente mancanti nella destinazione.
- Generazione migrazione: Comandi SQL per ogni modifica rilevata.
Semantica forward-only
Sezione intitolata “Semantica forward-only”- Nella sorgente, non nella destinazione →
CREATED - In entrambi → Confronto campo per campo
- Solo nella destinazione → Non mostrato come
DROPPED
Eccezione: COLUMN_DROPPED è rilevato per modifiche alle colonne.
Tipi di modifiche
Sezione intitolata “Tipi di modifiche”| Tipo | Descrizione | Breaking |
|---|---|---|
TABLE_CREATED | Tabella in sorgente, non in destinazione | No |
COLUMN_ADDED | Nuova colonna | No |
COLUMN_DROPPED | Colonna rimossa | Sì |
COLUMN_TYPE_CHANGED | Tipo modificato | Dipende* |
COLUMN_NULLABLE_CHANGED | Nullable modificato | Dipende |
COLUMN_DEFAULT_CHANGED | Default modificato | No |
INDEX_CREATED / INDEX_DROPPED | Indice | No |
ENUM_* / VIEW_* / RELATIONSHIP_* | Enum, vista, relazione | Vedi doc |
Selezione Cherry-Pick
Sezione intitolata “Selezione Cherry-Pick”- Seleziona/deseleziona modifiche singole.
- Le modifiche breaking non sono preselezionate di default.
GraphQL API
Sezione intitolata “GraphQL API”Query: environmentDiff
Sezione intitolata “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" }}