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.

Funcionamento
Seção intitulada “Funcionamento”- Análise de schema: Introspeção de ambos os ambientes.
- Comparação: Semântica forward-only — alterações da origem em falta no destino.
- Geração de migração: Comandos SQL para cada alteração detetada.
Semântica forward-only
Seção intitulada “Semântica forward-only”- Na origem, não no destino →
CREATED - Em ambos → Comparação campo a campo
- Apenas no destino → Não mostrado como
DROPPED
Exceção: COLUMN_DROPPED é detetado para alterações em colunas.
Tipos de alterações
Seção intitulada “Tipos de alterações”| Tipo | Descrição | Breaking |
|---|---|---|
TABLE_CREATED | Tabela na origem, não no destino | Não |
COLUMN_ADDED | Nova coluna | Não |
COLUMN_DROPPED | Coluna removida | Sim |
COLUMN_TYPE_CHANGED | Tipo alterado | Depende* |
COLUMN_NULLABLE_CHANGED | Nullable alterado | Depende |
COLUMN_DEFAULT_CHANGED | Default alterado | Não |
INDEX_CREATED / INDEX_DROPPED | Índice | Não |
ENUM_* / VIEW_* / RELATIONSHIP_* | Enum, vista, relação | Ver doc |
Seleção Cherry-Pick
Seção intitulada “Seleção Cherry-Pick”- Selecionar/desselecionar alterações individuais.
- Alterações breaking não estão pré-selecionadas por defeito.
GraphQL API
Seção intitulada “GraphQL API”Query: environmentDiff
Seção intitulada “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" }}