运行一次性任务以在Ruby中将值输入数据库
我现在已经在数据库中向我的表添加了一个新列。 我想在这个新列的某些行中添加一些值。 我知道逻辑和所有。 但实际上我不知道添加它的方法,或者在ruby on rails上写一次执行此任务的任务。 谁能帮我。 我只是需要一些想法。
您可以为此创建一个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
data = Model.where(#your_condition)
如果所有人的价值相同
data.update_all(:new_column => "new value")
如果所有人的价值不同
data.each do |d| d.update_attributes(:new_column => "some value") end