UNPKG

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
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; }); } }