您何时想在Rails中使用disable_ddl_transaction?

时间:2017-09-06 04:30:12

标签: ruby-on-rails migration

我的理解是所有迁移都包含在事务中,这意味着,如果表中的1行更改(如添加null:false)失败,则每隔一行都会失败。您何时不希望disable_ddl_transaction发生这种情况?

1 个答案:

答案 0 :(得分:2)

默认情况下,所有迁移都包含在事务中,以便在失败时回滚它们。

当您想要执行无法在事务中执行的操作时,您需要使用disable_ddl_transaction。例如,您可以查看Migration documentTransactional Migrations部分。