coddyger
Version:
Coddyger est une bibliothèque JavaScript/TypeScript qui fournit des fonctions communes et des plugins pour la gestion des données, la communication entre services, et des utilitaires avancés pour le développement d'applications.
33 lines (28 loc) • 1.16 kB
text/typescript
import { Sequelize } from 'sequelize';
import { Migration } from './types';
import * as path from 'path';
import * as fs from 'fs';
import coddyger from '../../coddyger';
export class MigrationManager {
constructor(private readonly sequelize: Sequelize) {}
async runMigrations(migrationsDir: string) {
const migrations:any = this.loadMigrations(migrationsDir);
for (const migration of migrations) {
try {
await migration.up(this.sequelize.getQueryInterface(), this.sequelize);
coddyger.konsole(`Migration ${migration.name} completed`);
} catch (error) {
coddyger.konsole(`Migration ${migration.name} failed: ${error}`, 1);
throw error;
}
}
}
private loadMigrations(migrationsDir: string): Migration[] {
const files = fs.readdirSync(migrationsDir)
.filter(file => file.endsWith('.js'));
return files.map(file => {
const migration = require(path.join(migrationsDir, file));
return migration;
});
}
}