Database Migration

DevOps 🟡 Mid

Definition

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.

Termes lies

#devops#database