我刚迁移了我的create_supplier迁移,然后我意识到我的一个数据类型是错误的,所以我添加了另一个迁移,它看起来像这样:
class ChangePhoneToStringInSuppliers < ActiveRecord::Migration[5.1]
def change
change_column :suppliers, :phone_no_1, :string
change_column :suppliers, :phone_no_2, :string
end
end
迁移完成后,我意识到我没有推送我的代码,所以理想情况下我应该回滚到create_suppliers迁移并在那里添加更改。当我回滚ChangePhoneToStringInSuppliers时,我会得到以下错误消息:
This migration uses change_column, which is not automatically reversible.
To make the migration reversible you can either:
1. Define #up and #down methods in place of the #change method.
2. Use the #reversible method to define reversible behavior.
我认为上面的错误信息(以及互联网上的其他帖子)中提出的方法是预防这个问题的措施,而不是治疗方法(如果我说错了,请纠正我)。现在我该如何回滚此次迁移呢?