2021-09-10 11:42:11 +02:00
|
|
|
import { log } from 'db-migrate-shared';
|
|
|
|
import { getInstance } from 'db-migrate';
|
2024-03-18 13:58:05 +01:00
|
|
|
import type { IUnleashConfig } from './lib/types/option';
|
2021-11-02 15:13:46 +01:00
|
|
|
import { secondsToMilliseconds } from 'date-fns';
|
2021-09-10 11:42:11 +02:00
|
|
|
|
2024-03-19 14:45:27 +01:00
|
|
|
log.setLogLevel('error');
|
2021-09-10 11:42:11 +02:00
|
|
|
|
|
|
|
export async function migrateDb({ db }: IUnleashConfig): Promise<void> {
|
2021-11-02 15:13:46 +01:00
|
|
|
const custom = {
|
|
|
|
...db,
|
|
|
|
connectionTimeoutMillis: secondsToMilliseconds(10),
|
|
|
|
};
|
2021-09-10 11:42:11 +02:00
|
|
|
|
2023-03-13 10:12:43 +01: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> {
|
2021-11-02 15:13:46 +01:00
|
|
|
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();
|
|
|
|
}
|