1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-11-01 19:07:38 +01:00
unleash.unleash/src/migrator.ts
Gastón Fournier 82ac5a47ad
chore: This helps output the migrations being applied (#6004)
## About the changes
This outputs to console.log but should be indexable:

![image](https://github.com/Unleash/unleash/assets/455064/cb696936-7060-447d-b22d-ff62b4dbcbc3)
2024-01-23 16:01:36 +01:00

40 lines
1.0 KiB
TypeScript

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<void> {
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<void> {
const custom = {
...db,
connectionTimeoutMillis: secondsToMilliseconds(10),
};
const dbm = getInstance(true, {
cwd: __dirname,
config: { custom },
env: 'custom',
});
return dbm.reset();
}