veza/docs/MIGRATION_CONSOLIDATION.md

47 lines
1.5 KiB
Markdown
Raw Normal View History

# 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
```bash
# 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 migrations 001_..122_, exécuter manuellement :
```bash
psql $DATABASE_URL -f veza-backend-api/migrations/000_mark_consolidated.sql
```
Cela insère le marqueur `000_consolidated` dans `schema_migrations` sans modifier le schéma.
## 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 :
```bash
# 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).