Salta ai contenuti

Environment Diff

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

Confronto diff schema


  1. Analisi schema: Introspezione di entrambi gli ambienti.
  2. Confronto: Semantica forward-only — modifiche dalla sorgente mancanti nella destinazione.
  3. Generazione migrazione: Comandi SQL per ogni modifica rilevata.

  • Nella sorgente, non nella destinazioneCREATED
  • In entrambi → Confronto campo per campo
  • Solo nella destinazioneNon mostrato come DROPPED

Eccezione: COLUMN_DROPPED è rilevato per modifiche alle colonne.


TipoDescrizioneBreaking
TABLE_CREATEDTabella in sorgente, non in destinazioneNo
COLUMN_ADDEDNuova colonnaNo
COLUMN_DROPPEDColonna rimossa
COLUMN_TYPE_CHANGEDTipo modificatoDipende*
COLUMN_NULLABLE_CHANGEDNullable modificatoDipende
COLUMN_DEFAULT_CHANGEDDefault modificatoNo
INDEX_CREATED / INDEX_DROPPEDIndiceNo
ENUM_* / VIEW_* / RELATIONSHIP_*Enum, vista, relazioneVedi doc

  • Seleziona/deseleziona modifiche singole.
  • Le modifiche breaking non sono preselezionate di default.

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