Migrations
Statut
Document de cadrage data — version initiale.
Objectif
Les migrations doivent permettre de faire évoluer la base de manière contrôlée, traçable et réversible autant que possible.
Elles sont un élément central de la gouvernance data DMV.
État actuel visible
Le workspace contient deux familles de migrations :
- migrations Laravel dans
api/database/migrations; - migrations Supabase historiques dans
dmv_backoffice/supabase/migrationsetdmv-public/supabase/migrations.
La source canonique exacte entre ces familles doit être clarifiée progressivement.
Migrations Laravel
Les migrations Laravel couvrent les domaines principaux :
- identité ;
- territoire ;
- acteurs ;
- publications ;
- communauté ;
- monétisation ;
- settings ;
- PlayLoop ;
- AssoSuite ;
- chat ;
- mairie ;
- cache ;
- jobs ;
- tokens.
Migrations Supabase historiques
Les migrations Supabase couvrent notamment :
- documents et storage ;
- tags acteurs ;
- feature tabs ;
- groupes ;
- publications personnelles ;
- modération ;
- favoris ;
- commune infos ;
- stats events ;
- astuces ;
- RPC diverses.
Principes de migration
- Une migration doit être lisible et limitée à un changement cohérent.
- Les changements destructifs doivent être évités sans plan.
- Les données sensibles doivent être préservées.
- Les migrations doivent être testées avant production.
- Les changements de schéma doivent être alignés avec l'API.
- Les migrations historiques ne doivent pas être modifiées sans raison forte.
Stratégie cible
La cible est de définir :
- source canonique des migrations ;
- convention de nommage ;
- processus de revue ;
- compatibilité avec les frontends ;
- stratégie de rollback ;
- documentation des changements de données ;
- synchronisation éventuelle Supabase / Laravel.
Points à clarifier
- Laravel devient-il la source unique des migrations ?
- Quelles migrations Supabase restent actives ?
- Comment migrer les RPC vers Laravel ou les conserver ?
- Comment gérer les environnements locaux, staging et production ?
- Comment documenter les migrations de données et pas seulement de schéma ?