Pular para o conteúdo

Environment Diff

Environment Diff compara os schemas de base de dados de dois ambientes lado a lado. Útil antes de um merge ou para auditoria de diferenças estruturais.

Comparação de diff de schema


  1. Análise de schema: Introspeção de ambos os ambientes.
  2. Comparação: Semântica forward-only — alterações da origem em falta no destino.
  3. Geração de migração: Comandos SQL para cada alteração detetada.

  • Na origem, não no destinoCREATED
  • Em ambos → Comparação campo a campo
  • Apenas no destinoNão mostrado como DROPPED

Exceção: COLUMN_DROPPED é detetado para alterações em colunas.


TipoDescriçãoBreaking
TABLE_CREATEDTabela na origem, não no destinoNão
COLUMN_ADDEDNova colunaNão
COLUMN_DROPPEDColuna removidaSim
COLUMN_TYPE_CHANGEDTipo alteradoDepende*
COLUMN_NULLABLE_CHANGEDNullable alteradoDepende
COLUMN_DEFAULT_CHANGEDDefault alteradoNão
INDEX_CREATED / INDEX_DROPPEDÍndiceNão
ENUM_* / VIEW_* / RELATIONSHIP_*Enum, vista, relaçãoVer doc

  • Selecionar/desselecionar alterações individuais.
  • Alterações breaking não estão pré-selecionadas por defeito.

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