在rails中迁移后重命名列

时间:2015-03-03 02:16:38

标签: ruby-on-rails ruby

我想知道在我在rails中进行迁移后是否可以快速更新列名?

例如,在我的架构中,实体用户有一个列“user_name”,我通过下面的迁移将其更改为“name”:

class FixColumnName < ActiveRecord::Migration
  def change
    rename_column :users, :user_name, :name
  end
end

然后我跑了

rake db:migrate

但是,在其他文件中,比如test / users_controller_test.rb,列名仍然是“user_name”,我必须手动修改它。我想知道是否有办法改名称为好?

2 个答案:

答案 0 :(得分:1)

我不相信除了摧毁整个一代之外,还有什么方法可以使用CLI来做到这一点。

您应该使用您的编辑器来查找/替换或进行更高级的重构。例如,在我使用的RubyMine中,有一个非常全面的重构功能。你可以阅读它here

古德勒克!

答案 1 :(得分:0)

在终端上运行vim some path/test/users_controller_test.rb 按逃生 类型: :%s/user_name/name/g点击进入 再次转义,输入:x并按Enter键

如果您不想使用vim,我确信您可以使用任何文本编辑器进行操作。搜索在Google上查找并替换您的编辑器名称。