我用導軌4 PostgreSQL的 我想用默認值導軌和添加默認值列沒有影響到當前的條目
add_column :users, :first_visit, :boolean, :default => true
添加新列,並與價值真實的,但需要創建的所有新項目使所有當前條目不受默認值影響,但在first_visit字段上具有零值。
我用導軌4 PostgreSQL的 我想用默認值導軌和添加默認值列沒有影響到當前的條目
add_column :users, :first_visit, :boolean, :default => true
添加新列,並與價值真實的,但需要創建的所有新項目使所有當前條目不受默認值影響,但在first_visit字段上具有零值。
:default => true
遷移添加true
爲所有現有的記錄。
如果你想nil
現有記錄和true
默認值,然後從遷移刪除:default => true
,並添加以下代碼在用戶模式:
class User < ActiveRecord::Base
before_create :set_default
def set_default
self.first_visit = true unless self.first_visit
end
end
我相信,只有這樣才能達到這種純內的數據庫是使用您引用的命令在PostgreSQL中設置默認值,然後運行全局更新以將所有當前值設置爲空。
User.update_all(first_visit: nil)
默認值表示它將爲所有條目設置。我不認爲這是可能的。 –