架构:使用'重命名列'来编辑表的列名。

时间:2014-05-13 03:11:14

标签: ruby ruby-on-rails-4 migration schema

我有一个名为project_updates的表格,我正在尝试将表格中的列从update重命名为updates。我运行了rails g migration change_table,然后像这样编辑了文件:

class ChangeTable < ActiveRecord::Migration
  def change
    rename_column :project_updates, :update, :updates
  end
end

然后我运行bundle exec rake db:migrate并且没有任何反应。我拿着控制台查看了模型ProjectUpdate,它仍然有update而不是updates。我该怎么办?

2 个答案:

答案 0 :(得分:0)

我认为您应该使用Rails迁移的updown方法。

像这样编辑迁移:

class ChangeTable < ActiveRecord::Migration
  def self.up
    rename_column :project_updates, :update, :updates
  end

  def self.down
    rename_column :project_updates, :updates, :update
  end

end

可能检查你的Rails版本,可能是&lt; Rails 3.1

从Rails 3.1中引入了

change迁移方法

答案 1 :(得分:0)

我不得不删除架构并运行rake命令再次生成。不确定为什么但它有效。