Environment Diff
Environment Diff permet de comparer les schémas de base de données de deux environnements côte à côte. Utile avant un merge ou pour auditer les différences structurelles.

Fonctionnement
Section intitulée « Fonctionnement »- Analyse du schéma : Introspection des deux environnements.
- Comparaison : Sémantique forward-only — changements de la source manquants dans la cible.
- Génération de migration : Commandes SQL pour chaque changement détecté.
Sémantique forward-only
Section intitulée « Sémantique forward-only »- Dans la source, pas dans la cible →
CREATED - Dans les deux → Comparaison champ par champ
- Uniquement dans la cible → Non affiché comme
DROPPED
Exception : COLUMN_DROPPED est détecté pour les changements de colonnes.
Types de changements
Section intitulée « Types de changements »| Type | Description | Breaking |
|---|---|---|
TABLE_CREATED | Table en source, pas en cible | Non |
COLUMN_ADDED | Nouvelle colonne | Non |
COLUMN_DROPPED | Colonne supprimée | Oui |
COLUMN_TYPE_CHANGED | Type modifié | Dépend* |
COLUMN_NULLABLE_CHANGED | Nullable modifié | Dépend |
COLUMN_DEFAULT_CHANGED | Default modifié | Non |
INDEX_CREATED / INDEX_DROPPED | Index | Non |
ENUM_* / VIEW_* / RELATIONSHIP_* | Enum, vue, relation | Voir doc |
Sélection Cherry-Pick
Section intitulée « Sélection Cherry-Pick »- Sélectionner/désélectionner des changements individuels.
- Les changements breaking ne sont pas présélectionnés par défaut.
GraphQL API
Section intitulée « GraphQL API »Query: environmentDiff
Section intitulée « 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" }}