Change runMigrations to only accept a boolean
Signed-off-by: Marcus Eide <eide@spotify.com>
This commit is contained in:
@@ -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,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user