标签: knex.js objection.js
由于任何原因,某些迁移有时可能会失败。我的印象是,迁移被包裹在knex中的事务中,但是令我沮丧的是,我意识到,即使迁移失败,在错误之前创建的表仍会保留在数据库中。
示例迁移如下所示:
p
即使在创建 someTable 时抛出错误,也不会回滚并且所有更改都将提交给数据库。现在无法随后运行迁移。更糟糕的是,它没有在knex_migrations中注册,我什至无法回滚,因此我必须手动删除该表。
我想念什么吗?我希望事情能够原子发生,我该如何实现?
非常感谢