Gérer l’évolution d’une base de données en production est l’un des défis majeurs du développement. Supabase propose un système de migrations intégré via la CLI qui permet de versionner, appliquer et rollback les changements de schéma de manière sécurisée.
Pour une vue d’ensemble de Supabase, lis notre guide complet Supabase. Pour bien structurer ta base avant les migrations, consulte créer et structurer sa base de données Supabase. Pour travailler en local, voir installer Supabase en local avec Docker. Pour les triggers dans tes migrations, voir SQL, triggers et fonctions Supabase.
Pourquoi les Migrations sont Essentielles
- Schémas cohérents entre dev/staging/prod
- Rollback possible en cas de bug
- Pas de conflits en équipe
- Historique complet des changements
Créer une Migration
# Créer une migration vide
supabase migration new add_posts_table
# Générer depuis les différences locales
supabase db diff --schema public -f add_posts_table
Appliquer les Migrations
# En local
supabase db reset
# En production
supabase db push
# Voir le statut
supabase migration list
Workflow Recommandé
# 1. Démarrer l'environnement local
supabase start
# 2. Modifier le schéma dans Supabase Studio local
# 3. Générer la migration
supabase db diff --schema public -f ma_migration
# 4. Tester en local
supabase db reset
# 5. Déployer en production
supabase db push
Intégration CI/CD avec GitHub Actions
- name: Deploy migrations
run: supabase db push --project-ref ${{ secrets.SUPABASE_PROJECT_REF }}
env:
SUPABASE_ACCESS_TOKEN: ${{ secrets.SUPABASE_ACCESS_TOKEN }}
Bonnes Pratiques de Migration
- ✅ Une migration = un changement logique
- ✅ Toujours tester en local avant production
- ✅ Nommage descriptif :
add_user_roles, pasmigration_3 - ❌ Ne jamais modifier une migration déjà appliquée en production
👉 Articles du guide Supabase
Cet article fait partie du Guide Complet Supabase 2026. Retrouvez les autres articles :
- ✅ Supabase : Le Guide Complet 2026
- ✅ Supabase vs Firebase : Comparatif Complet 2026
- ✅ Installer Supabase en Local avec Docker
- ✅ Supabase Pricing : Quel Plan Choisir en 2026
- ✅ Architecture Supabase : Postgres, GoTrue, Realtime et Storage
- ✅ Créer et Structurer sa Base de Données Supabase
- ✅ Supabase RLS : Sécuriser ses Données avec Row Level Security
- ✅ Supabase SQL : Triggers, Fonctions et Procédures Stockées
- 📅 Supabase Auth — à paraître le 14/06
- 📅 Rôles et Permissions — à paraître le 16/06
- 📅 JWT Supabase — à paraître le 18/06
- 📅 Supabase + Next.js — à paraître le 20/06
- 📅 Supabase + React — à paraître le 22/06
- 📅 API REST Supabase — à paraître le 24/06
- 📅 Edge Functions — à paraître le 26/06
- 📅 Realtime Supabase — à paraître le 28/06
- 📅 Storage Supabase — à paraître le 30/06
- 📅 Vector & pgvector — à paraître le 02/07
- 📅 Supabase MCP — à paraître le 04/07
- 📅 Déploiement en production — à paraître le 06/07
- 📅 CLI Supabase — à paraître le 08/07





