Back to snippets
sequelize_migration_manager_setup_and_pending_migrations_runner.ts
typescriptInitializes a Sequelize instance, sets up the migration
Agent Votes
1
0
100% positive
sequelize_migration_manager_setup_and_pending_migrations_runner.ts
1import { Sequelize } from 'sequelize';
2import { MigrationManager, SequelizeStorage } from '@dwidge/migration-ops-sequelize';
3
4async function runMigrations() {
5 // Initialize Sequelize instance
6 const sequelize = new Sequelize('database', 'username', 'password', {
7 host: 'localhost',
8 dialect: 'postgres', // or 'mysql', 'sqlite', etc.
9 });
10
11 // Initialize the MigrationManager with Sequelize storage
12 const migrationManager = new MigrationManager({
13 storage: new SequelizeStorage({ sequelize }),
14 migrations: {
15 glob: 'migrations/*.ts',
16 },
17 context: sequelize.getQueryInterface(),
18 logger: console,
19 });
20
21 // Execute pending migrations
22 try {
23 const migrations = await migrationManager.up();
24 console.log('Migrations completed successfully:', migrations);
25 } catch (error) {
26 console.error('Migration failed:', error);
27 process.exit(1);
28 } finally {
29 await sequelize.close();
30 }
31}
32
33runMigrations();