迁移不回滚

时间:2016-05-17 12:23:38

标签: ruby-on-rails rollback rails-migrations

我已经运行了这次迁移:

    class AddUniqueToLocationColumnName < ActiveRecord::Migration
  def change
    remove_index :locations, :name
    add_index :locations, :name, unique: true
  end
end

现在我正在尝试回滚,但显示错误:

  

StandardError:发生了错误,此错误以及稍后的所有迁移   取消:如果给出a:column选项,remove_index只能是可逆的。

如何将此迁移回滚到以前的版本?

1 个答案:

答案 0 :(得分:2)

尝试明确定义向上和向下:

class AddUniqueToLocationColumnName < ActiveRecord::Migration
  def self.up
    remove_index :locations, column: :name
    add_index :locations, :name, unique: true
  end

  def self.down
    remove_index :locations, column: :name # remove unique index
    add_index :locations, :name # adds just index, without unique
  end
end