Ruby on rails 迁移后更新数据的最佳方法是什么?
在Rails/Activerecord中,我更改了一个字段,使其成为必需字段;我想跑步 AppVersion.where('content_rating为NULL')。每个{av | av.update_列('content_rating',7)} 确保内容分级不为空Ruby on rails 迁移后更新数据的最佳方法是什么?,ruby-on-rails,Ruby On Rails,在Rails/Activerecord中,我更改了一个字段,使其成为必需字段;我想跑步 AppVersion.where('content_rating为NULL')。每个{av | av.update_列('content_rating',7)} 确保内容分级不为空 据我所知,迁移并不是真正更改记录的好地方。在Rails结构中是否有“只执行一次”的方式来运行代码?是的,您可以创建一个rake任务: 如果需要,可以在迁移中运行任务: $ rails g task update_version
据我所知,迁移并不是真正更改记录的好地方。在Rails结构中是否有“只执行一次”的方式来运行代码?是的,您可以创建一个rake任务: 如果需要,可以在迁移中运行任务:
$ rails g task update_version update_rating_column
$ create lib/tasks/update_version.rake
namespace :update_version do
desc "Update content_rating"
task :update_rating_column => :environment do
AppVersion.where('content_rating IS NULL').each {|av| av.update_column('content_rating', 7) }
end
end