1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-11-01 19:07:38 +01:00
unleash.unleash/src/migrator.ts

40 lines
1.0 KiB
TypeScript
Raw Normal View History

2021-09-10 11:42:11 +02:00
import { log } from 'db-migrate-shared';
import { getInstance } from 'db-migrate';
import { IUnleashConfig } from './lib/types/option';
import { secondsToMilliseconds } from 'date-fns';
2021-09-10 11:42:11 +02:00
log.setLogLevel('info');
2021-09-10 11:42:11 +02:00
export async function migrateDb({ db }: IUnleashConfig): Promise<void> {
const custom = {
...db,
connectionTimeoutMillis: secondsToMilliseconds(10),
};
2021-09-10 11:42:11 +02:00
// disable Intellij/WebStorm from setting verbose CLI argument to db-migrator
process.argv = process.argv.filter((it) => !it.includes('--verbose'));
2021-09-10 11:42:11 +02:00
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<void> {
const custom = {
...db,
connectionTimeoutMillis: secondsToMilliseconds(10),
};
2021-09-10 11:42:11 +02:00
const dbm = getInstance(true, {
cwd: __dirname,
config: { custom },
env: 'custom',
});
return dbm.reset();
}