Database Migration
DevOps 🟡 MidDefinition
Scripts versionnés et ordonnés pour modifier le schéma de base de données de manière incrémentale, reproductible et réversible.
Analogie
Un journal des travaux dans un immeuble : chaque rénovation est documentée et peut être annulée.
Exemple de code
// 001_create_users.sql
CREATE TABLE users (
id UUID PRIMARY KEY,
email VARCHAR(255) UNIQUE NOT NULL
);
-- npx prisma migrate dev
-- npx knex migrate:latest
Cas d'usage
Synchroniser le schéma de base entre tous les environnements de manière automatisée.
Anti-pattern
Modifier le schéma en prod à la main : impossible à reproduire et source d'erreurs.