【发布时间】:2014-03-25 11:08:57
【问题描述】:
我编写了一个迁移脚本来更新 ActiveRecord 中所有以前的记录。
class UpdateListCompletedAtFields < ActiveRecord::Migration
def up
Car.find_each do |car|
if car.list_car_step_3_finished?
car.list_completed_at = Time.now
puts "Car #{car.id} list_completed, updating list_completed_at: #{car.list_completed_at}"
end
end
end
end
当我运行迁移脚本时,puts 消息正确输出字段 car.list_completed_at,但是当我进入 rails 控制台(在我退出后)并尝试检查数据时,迁移没有持续。我想知道我是否遗漏了什么?
Car.all.map{|m| [m.list_car_step_3_finished, m.list_completed_at]}
=>[[true, nil], [true, nil], [nil, nil], [nil, nil], [nil, nil], [nil, nil], [nil, nil], [nil, nil], [nil, nil], [true, nil], [nil, nil]]
【问题讨论】:
标签: ruby-on-rails activerecord