mirror of
https://github.com/Unleash/unleash.git
synced 2026-10-14 00:10:28 +00:00
fix: add resetDb to migrator
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { Knex } from 'knex';
|
||||
import EventEmitter from 'events';
|
||||
import * as uuid from 'uuid';
|
||||
import { v4 as uuidv4 } from 'uuid';
|
||||
import metricsHelper from '../util/metrics-helper';
|
||||
import { DB_TIME } from '../metric-events';
|
||||
import { Logger, LogProvider } from '../logger';
|
||||
@@ -142,7 +142,7 @@ class FeatureStrategiesStore implements IFeatureStrategiesStore {
|
||||
async createStrategyConfig(
|
||||
strategyConfig: Omit<IFeatureStrategy, 'id' | 'createdAt'>,
|
||||
): Promise<IFeatureStrategy> {
|
||||
const strategyRow = mapInput({ ...strategyConfig, id: uuid.v4() });
|
||||
const strategyRow = mapInput({ ...strategyConfig, id: uuidv4() });
|
||||
const rows = await this.db<IFeatureStrategiesTable>(T.featureStrategies)
|
||||
.insert(strategyRow)
|
||||
.returning('*');
|
||||
|
||||
@@ -2,7 +2,7 @@ import EventEmitter from 'events';
|
||||
import stoppable, { StoppableServer } from 'stoppable';
|
||||
import { promisify } from 'util';
|
||||
import version from './util/version';
|
||||
import migrator from '../migrator';
|
||||
import { migrateDb } from '../migrator';
|
||||
import getApp from './app';
|
||||
import { createMetricsMonitor } from './metrics';
|
||||
import { createStores } from './db';
|
||||
@@ -116,7 +116,7 @@ async function start(opts: IUnleashOptions = {}): Promise<IUnleash> {
|
||||
logger.info('DB migration: disabled');
|
||||
} else {
|
||||
logger.info('DB migration: start');
|
||||
await migrator(config);
|
||||
await migrateDb(config);
|
||||
logger.info('DB migration: end');
|
||||
}
|
||||
} catch (err) {
|
||||
@@ -140,7 +140,7 @@ async function create(opts: IUnleashOptions): Promise<IUnleash> {
|
||||
if (config.db.disableMigration) {
|
||||
logger.info('DB migrations disabled');
|
||||
} else {
|
||||
await migrator(config);
|
||||
await migrateDb(config);
|
||||
}
|
||||
} catch (err) {
|
||||
logger.error('Failed to migrate db', err);
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
require('db-migrate-shared').log.setLogLevel('error');
|
||||
|
||||
const { getInstance } = require('db-migrate');
|
||||
|
||||
async function migrateDb({ db }) {
|
||||
const custom = { ...db, connectionTimeoutMillis: 10000 };
|
||||
|
||||
const dbm = getInstance(true, {
|
||||
cwd: __dirname,
|
||||
config: { custom },
|
||||
env: 'custom',
|
||||
});
|
||||
|
||||
return dbm.up();
|
||||
}
|
||||
|
||||
module.exports = migrateDb;
|
||||
@@ -0,0 +1,30 @@
|
||||
import { log } from 'db-migrate-shared';
|
||||
import { getInstance } from 'db-migrate';
|
||||
import { IUnleashConfig } from './lib/types/option';
|
||||
|
||||
log.setLogLevel('error');
|
||||
|
||||
export async function migrateDb({ db }: IUnleashConfig): Promise<void> {
|
||||
const custom = { ...db, connectionTimeoutMillis: 10000 };
|
||||
|
||||
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: 10000 };
|
||||
|
||||
const dbm = getInstance(true, {
|
||||
cwd: __dirname,
|
||||
config: { custom },
|
||||
env: 'custom',
|
||||
});
|
||||
|
||||
return dbm.reset();
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
import { EventEmitter } from 'events';
|
||||
import migrator from '../../../migrator';
|
||||
import { migrateDb } from '../../../migrator';
|
||||
import { createStores } from '../../../lib/db';
|
||||
import { createDb } from '../../../lib/db/db-pool';
|
||||
import dbConfig from './database-config';
|
||||
@@ -88,7 +88,7 @@ export default async function init(
|
||||
await db.raw(`DROP SCHEMA IF EXISTS ${config.db.schema} CASCADE`);
|
||||
await db.raw(`CREATE SCHEMA IF NOT EXISTS ${config.db.schema}`);
|
||||
// @ts-ignore
|
||||
await migrator({ ...config, databaseSchema: config.db.schema });
|
||||
await migrateDb({ ...config, databaseSchema: config.db.schema });
|
||||
await db.destroy();
|
||||
const testDb = createDb(config);
|
||||
const stores = await createStores(config, eventBus, testDb);
|
||||
|
||||
Reference in New Issue
Block a user