TypeORM Migration
NestJS 🟡 MidDefinition
Fichier versionne qui decrit les modifications de schema de base de donnees (up/down). Permet de gerer l'evolution du schema de facon reproductible.
Analogie
Comme un historique Git mais pour la structure de ta base de donnees.
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
Deployer des changements de schema en production de maniere securisee et reversible.
Anti-pattern
Utiliser synchronize: true en production au lieu de migrations versionees.