import { log } from 'db-migrate-shared'; import { getInstance } from 'db-migrate'; import { IUnleashConfig } from './lib/types/option'; import { secondsToMilliseconds } from 'date-fns'; log.setLogLevel('info'); export async function migrateDb({ db }: IUnleashConfig): Promise { const custom = { ...db, connectionTimeoutMillis: secondsToMilliseconds(10), }; // disable Intellij/WebStorm from setting verbose CLI argument to db-migrator process.argv = process.argv.filter((it) => !it.includes('--verbose')); const dbm = getInstance(true, { cwd: __dirname, config: { custom }, env: 'custom', }); return dbm.up(); } // This exists to ease testing export async function resetDb({ db }: IUnleashConfig): Promise { const custom = { ...db, connectionTimeoutMillis: secondsToMilliseconds(10), }; const dbm = getInstance(true, { cwd: __dirname, config: { custom }, env: 'custom', }); return dbm.reset(); }