veza/docs/MIGRATION_CONSOLIDATION.md
senke 40fba3cbbf
Some checks failed
Backend API CI / test-unit (push) Failing after 0s
Backend API CI / test-integration (push) Failing after 0s
chore(release): v0.942 — Compress (migration consolidation procedure, mark script)
2026-03-02 19:05:54 +01:00

1.5 KiB

Migration Consolidation — v0.942

Contexte

Les migrations v0→v0.803 (~91 fichiers) sont consolidées en un schéma unique pour les nouvelles installations.

Trois chemins

Cas Action
DB vide Appliquer 000_full_schema.sql (généré par pg_dump)
DB existante (déjà migrée) Appliquer 000_mark_consolidated.sql — marque sans modifier le schéma
DB consolidée Appliquer les migrations incrémentales après consolidation

Générer le schéma complet

# Depuis une DB avec toutes les migrations appliquées
pg_dump -h localhost -U veza -d veza --schema-only --no-owner --no-privileges \
  -f veza-backend-api/migrations/000_full_schema.sql

Marquer une base existante

Pour une base qui a déjà exécuté les 91 migrations, exécuter manuellement :

psql $DATABASE_URL -f scripts/mark_consolidated.sql

Cela insère le marqueur dans schema_migrations sans modifier le schéma. L'outil de migration ignorera ensuite les anciennes migrations consolidées.

Archive

Les migrations historiques sont archivées dans veza-backend-api/migrations/archive/v0_to_v0803/ après consolidation. Voir le README de l'archive pour la liste complète.

Test de parité

Valider que le schéma 000_full_schema.sql produit un résultat équivalent aux 91 migrations :

# Optionnel : test avec testcontainers
go test ./tests/... -run MigrationParity -v

Validation manuelle acceptée si le test automatique n'est pas en place (plan de contingence v0.942).