Dan*_*ard 4 migration activerecord ruby-on-rails-3
这可能是另一个问题,但我找不到.
我是Rails的亲戚.我正在尝试将新列添加到已包含数据的表中.此列不允许空值.更新所有现有记录以在此新列中具有值的最简单方法是什么?我知道它可能在我的迁移的最后一块,但我不知道语法是什么.
def self.up
change_table :reminders do |t|
t.boolean :active
end
#model name is Reminder - how to update data with a value?
end
Run Code Online (Sandbox Code Playgroud)
您可以做的是添加列,使用所需的值更新表中的所有记录,然后将其更改为不允许空值.
def self.up
add_column :reminders, :active, :boolean, :default => true
Reminder.update_all( "active = ?", true )
change_column :reminders, :active, :boolean, :default => true, :null => :false
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1098 次 |
| 最近记录: |