Gestion des migrations
Ajouter des changements à la base de données sans casser l’existant
Notions théoriques
Pourquoi gérer les migrations ?
Lorsque la structure d’une base de données évolue (ajout de table, modification de colonnes, suppression de contraintes...), il est crucial de garder une trace de chaque modification, de pouvoir les rejouer sur d'autres environnements (comme la production), et surtout de ne rien casser.
Ce processus s’appelle une migration.
info
Une migration est un fichier SQL ou un script qui décrit une modification du schéma de la base de données.
Les migrations permettent de :
- versionner les changements de schéma
- partager les évolutions de la base avec une équipe
- mettre à jour plusieurs environnements de manière cohérente (local, staging, production)
- revenir en arrière si besoin (rollback)
Migrations dans un projet Supabase local
Même sans utiliser la CLI Supabase, il est possible de gérer les migrations manuellement dans un projet local basé sur Docker. Cela consiste à :
- Écrire des fichiers SQL dans un dossier
migrations/ - Appliquer ces fichiers dans la base locale via
psql - Versionner les fichiers avec Git
- Appliquer les mêmes fichiers sur la base distante
remarque
Ce processus est indépendant de tout framework JavaScript.