Supabase Migrations — Guide de lecture
Convention de nommage
Format observé:
YYYYMMDDHHMMSS_description.sql
Exemple:
20260329000000_add_monetization_tables.sql
Types de migrations rencontrés
1) remote_schema
- Exemples:
20260220173718_remote_schema.sql,20260311022127_remote_schema.sql - Usage: snapshots/alignements de schéma importés depuis l’état distant.
- Note: certaines n’ont pas d’en-tête explicite en commentaire.
2) Migrations fonctionnelles
- Ajout de tables métier (
contact_events,messages_vendeur,orders,payments) - Ajout de triggers et fonctions
- Ajustements de rôles et règles métier
3) Migrations sécurité / RLS
- Politiques de lecture/écriture selon acteur
- Correction de permissions publiques
Bonnes pratiques de revue
- Vérifier l’ordre d’exécution (dépendances FK, triggers, policies).
- Vérifier cohérence de type (
textvsuuid) avec schéma existant. - Vérifier idempotence (
IF NOT EXISTS,DROP ... IF EXISTSquand pertinent). - Vérifier compatibilité avec RLS et clés de service.
Checklist avant supabase db push
- Migration relue (FK, indexes, policies)
- Dry-run local ou environnement test
- Validation des types générés (
database.types.ts) - Contrôle des impacts frontend/backend
Commandes utiles
cd packages/supabase
supabase db push --include-all --yes
supabase gen types typescript --linked --schema public > src/database.types.ts