fix(core): Fix the db:revert command (no-changelog) (#6506)

This commit is contained in:
कारतोफ्फेलस्क्रिप्ट™ 2023-06-22 09:06:31 +02:00 committed by GitHub
parent 42a9e20e32
commit 8dc828b704
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 8 deletions

View file

@ -4,6 +4,8 @@ import { DataSource as Connection } from 'typeorm';
import { LoggerProxy } from 'n8n-workflow';
import { getLogger } from '@/Logger';
import { getConnectionOptions } from '@/Db';
import type { Migration } from '@db/types';
import { wrapMigration } from '@db/utils/migrationHelpers';
import config from '@/config';
export class DbRevertMigrationCommand extends Command {
@ -34,6 +36,8 @@ export class DbRevertMigrationCommand extends Command {
logging: ['query', 'error', 'schema'],
};
(connectionOptions.migrations as Migration[]).forEach(wrapMigration);
this.connection = new Connection(connectionOptions);
await this.connection.initialize();
await this.connection.undoLastMigration();

View file

@ -72,12 +72,12 @@ export const wrapMigration = (migration: Migration) => {
const { up, down } = migration.prototype;
Object.assign(migration.prototype, {
up: async (queryRunner: QueryRunner) => {
async up(queryRunner: QueryRunner) {
logMigrationStart(migrationName);
await up.call(this, { queryRunner, ...context });
logMigrationEnd(migrationName);
},
down: async (queryRunner: QueryRunner) => {
async down(queryRunner: QueryRunner) {
await down?.call(this, { queryRunner, ...context });
},
});

View file

@ -61,9 +61,7 @@ export async function init() {
if (dbType === 'sqlite') {
// no bootstrap connection required
await Db.init(getSqliteOptions({ name: testDbName }));
}
if (dbType === 'postgresdb') {
} else if (dbType === 'postgresdb') {
let bootstrapPostgres;
const pgOptions = getBootstrapDBOptions('postgres');
@ -92,9 +90,7 @@ export async function init() {
await bootstrapPostgres.destroy();
await Db.init(getDBOptions('postgres', testDbName));
}
if (dbType === 'mysqldb') {
} else if (dbType === 'mysqldb' || dbType === 'mariadb') {
const bootstrapMysql = await new Connection(getBootstrapDBOptions('mysql')).initialize();
await bootstrapMysql.query(`CREATE DATABASE ${testDbName}`);
await bootstrapMysql.destroy();