在同一任务中同时运行两个或多个迁移(例如,向上或向下迁移),而一次失败时,则仅回滚失败的迁移。我希望所有迁移都可以在失败时回滚。
示例:
export class createRbacs1582769140618 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.createTable(
new Table({
name: "fake_table",
columns: [
{
name: "id",
type: "int"
}
]
})
);
await queryRunner.dropTable("not_exits_table");
}
public async down(queryRunner: QueryRunner): Promise<any> {}
}
尽管迁移任务未记录到迁移表中,但仍创建了 fake_table
答案 0 :(得分:0)
根据typeorm MigrationExecutor,typeorm默认支持迁移中的事务。
但是,如果您使用的是mysql,请it can't rollback DDL statements。