【发布时间】:2014-07-22 09:17:21
【问题描述】:
我刚刚在我的数据库中的现有表中添加了一个新列:
class AddMoveableDateToDocument < ActiveRecord::Migration
def change
add_column :documents, :moveable_date, :datetime
end
end
在我的 Rails 模型中,我希望在创建时将 moveable_date 属性设置为默认值,并且应用程序稍后将能够更改此日期。所以,类似:
class Document < ActiveRecord::Base
before_create :set_moveable_date
def set_moveable_date
self.moveable_date ||= self.created_at
end
end
现在,已经保存到数据库中的现有模型将不会设置此moveable_date(值为nil)。如何运行所有现有模型并使用其默认值填充 moveable_date 属性?什么是最简单/最佳实践方式?可以在应用程序代码本身、控制台、终端或其他地方。谢谢!
【问题讨论】:
标签: ruby-on-rails-4 rails-activerecord