浏览代码

fix(revisions): rename table only if exists

Karol Sójko 1 年之前
父节点
当前提交
836883b82d
共有 1 个文件被更改,包括 7 次插入1 次删除
  1. 7 1
      packages/revisions/migrations/mysql/1694425333972-rename_revisions_table.ts

+ 7 - 1
packages/revisions/migrations/mysql/1694425333972-rename_revisions_table.ts

@@ -4,7 +4,13 @@ export class RenameRevisionsTable1694425333972 implements MigrationInterface {
   name = 'RenameRevisionsTable1694425333972'
 
   public async up(queryRunner: QueryRunner): Promise<void> {
-    await queryRunner.query('RENAME TABLE `revisions` TO `revisions_revisions`')
+    const revisionsTableExistsQueryResult = await queryRunner.manager.query(
+      'SELECT COUNT(*) as count FROM information_schema.tables WHERE table_schema = DATABASE() AND table_name = "revisions"',
+    )
+    const revisionsTableExists = revisionsTableExistsQueryResult[0].count === 1
+    if (revisionsTableExists) {
+      await queryRunner.query('RENAME TABLE `revisions` TO `revisions_revisions`')
+    }
   }
 
   public async down(): Promise<void> {