TypeORM Migration
NestJS 🟡 MidDéfinition
Fichier versionne qui décrit les modifications de schema de base de données (up/down). Permet de gérer l'évolution du schema de façon reproductible.
Analogie
Comme un historique Git mais pour la structure de ta base de données.
Exemple de code
export class AddUserAge1234567890 implements MigrationInterface {
async up(qr: QueryRunner) {
await qr.addColumn('user',
new TableColumn({ name: 'age', type: 'int', isNullable: true }));
}
async down(qr: QueryRunner) {
await qr.dropColumn('user', 'age');
}
}
Cas d'usage
Déployer des changements de schema en production de manière sécurisée et réversible.
Anti-pattern
Termes liés
En entretien
Explique-moi ce qu'est une migration TypeORM et pourquoi c'est important en production.
C'est un fichier versionné qui décrit les modifications de schema de base de données avec des méthodes up et down, un peu comme un historique Git mais pour la structure de la base de données. Ça permet de déployer des changements de schema en production de manière sécurisée et réversible.
Pourquoi éviter d'utiliser synchronize: true en production ?
Parce que c'est l'anti-pattern identifié explicitement : synchronize: true modifie le schema automatiquement sans contrôle, ce qui est risqué en prod. Il faut utiliser des migrations versionnées avec up/down pour maîtriser et pouvoir annuler chaque changement.
Fiche mise à jour le 2026-09-27