运行一个1次任务,在Ruby中向数据库中输入值



我现在已经在数据库中的表中添加了一个新列。我想在这个新列的一些行中添加一些值。我知道其中的逻辑。但实际上,我不知道如何添加它,也不知道如何用ruby on rails编写一个1次任务来完成它。有人能帮我吗?我只是需要一些主意。

data = Model.where(#your_condition)

如果所有的值相同

data.update_all(:new_column => "new value")

如果所有的值不同

data.each do |d|
  d.update_attributes(:new_column => "some value")
end

您可以为此创建一个rake任务,并运行一次。

创建文件lib/tasks/my_namespace.rake

namespace :my_namespace do
  desc "My Task description"
  task :my_task => :environment do
    # Code to make db change goes here
  end
end

您可以从项目根文件夹(如)中的命令行调用任务

rake my_namespace:my_task RAILS_ENV=production

相关内容

  • 没有找到相关文章

最新更新