Rails 4.2迁移错误但没有回滚

时间:2015-09-15 14:54:22

标签: mysql ruby-on-rails ruby migration rollback

我有很多remove_column的迁移。

我开始了,但是有一个错误:

  

- remove_column(:answers,:text_fr)
      - > 0.5544s
   - remove_column(:responses,:text_en)
      - > 0.2906s
   - remove_column(:topics,:text_fr)
  耙子流产!
  StandardError:发生错误,以后所有迁移都被取消:
  Mysql2 ::错误:无法DROP'text_fr';检查列/密钥是否存在

这是我的错,因为我没有给出专栏的好名声。

但我的问题是:没有自动回滚!

我已在迁移文件中修复了列的名称,但现在它无效,因为text_fr表中不存在responses ...

我记得以前,当发生错误时,就会发生回滚,就像没有发生迁移一样......

那么如何启用自动回滚迁移?

我正在使用mysql2 gem。

1 个答案:

答案 0 :(得分:1)

由于MySQL没有support transaction,因此请为您的迁移实施updown方法。