UNPKG

@warlock.js/cascade

Version:

ORM for managing databases

40 lines (39 loc) 1.07 kB
class MigrationOffice { /** * Migrations list */ migrations = []; /** * Register a migration */ register(migration) { const registeredMigration = { ...migration, async executeUp() { const blueprint = migration.blueprint.clone(); await migration.up(blueprint); await blueprint.execute(); }, async executeDown() { const blueprint = migration.blueprint.clone(); await migration.down(blueprint); await blueprint.execute(); }, }; this.migrations.push(registeredMigration); return this; } /** * Get all migrations */ list() { return this.migrations; } /** * Get blueprints only */ blueprints() { return this.migrations.map(migration => migration.blueprint); } } const migrationOffice = new MigrationOffice();export{MigrationOffice,migrationOffice};//# sourceMappingURL=migration-office.js.map