Change runMigrations to only accept a boolean

Signed-off-by: Marcus Eide <eide@spotify.com>
This commit is contained in:
Marcus Eide
2021-12-01 16:21:40 +01:00
parent 5cb156ef3b
commit 2f45b29875
2 changed files with 5 additions and 21 deletions
@@ -58,7 +58,7 @@ describe('DatabaseManager', () => {
expect(getConfigSpy).toHaveBeenCalledWith('backend.database');
});
it('runMigrate default value', () => {
it('runMigrations defaults to true', () => {
const config = new ConfigReader(backendConfig);
const database = DatabaseManager.fromConfig(config);
const client = database.forPlugin('test');
@@ -66,17 +66,7 @@ describe('DatabaseManager', () => {
expect(client.runMigrations).toBe(true);
});
it('runMigrate as a function', () => {
const config = new ConfigReader(backendConfig);
const runMigrate = jest.fn().mockReturnValue(false);
const database = DatabaseManager.fromConfig(config, runMigrate);
const client = database.forPlugin('test');
expect(runMigrate).toHaveBeenCalledTimes(1);
expect(client.runMigrations).toBe(false);
});
it('runMigrate as a boolean', () => {
it('runMigrations can be set', () => {
const config = new ConfigReader(backendConfig);
const database = DatabaseManager.fromConfig(config, false);
const client = database.forPlugin('test');
@@ -49,10 +49,7 @@ export class DatabaseManager {
* @param config - The loaded application configuration.
* @param runMigrations - Controls whether or not to perform database migrations.
*/
static fromConfig(
config: Config,
runMigrations?: boolean | (() => boolean),
): DatabaseManager {
static fromConfig(config: Config, runMigrations?: boolean): DatabaseManager {
const databaseConfig = config.getConfig('backend.database');
return new DatabaseManager(
@@ -65,7 +62,7 @@ export class DatabaseManager {
private constructor(
private readonly config: Config,
private readonly prefix: string = 'backstage_plugin_',
private readonly runMigrations: boolean | (() => boolean) = true,
private readonly runMigrations: boolean = true,
) {}
/**
@@ -82,10 +79,7 @@ export class DatabaseManager {
getClient(): Promise<Knex> {
return _this.getDatabase(pluginId);
},
runMigrations:
typeof _this.runMigrations === 'function'
? _this.runMigrations()
: _this.runMigrations,
runMigrations: _this.runMigrations,
};
}