Dav*_*e G 6 sql postgresql ruby-on-rails ruby-on-rails-3
我目前正在尝试运行此迁移:
class AddDroppedProjectsCountToUser < ActiveRecord::Migration
def self.up
add_column :users, :dropped_projects, :integer, {:default=>0, :required=>true}
end
def self.down
remove_column :users, :dropped_projects
end
end
Run Code Online (Sandbox Code Playgroud)
该列已正确添加,但没有旧记录填充为0.它们是零.我也尝试过使用default=>'0',但无济于事.知道为什么会这样吗?(Rails 3.0.3)
编辑添加:当我创建一个新用户时,它工作正常,一切看起来都正确.只是旧用户在表中仍然没有nil值.
mu *_*ort 12
如果你说:
def self.up
add_column :users, :dropped_projects, :integer, :null => false, :default => 0
end
Run Code Online (Sandbox Code Playgroud)
代替?没有:null=>false你仍然允许NULL,dropped_projects所以PostgreSQL没有理由让它们成为0.而且,我认为:required不是一个有效的选择add_column; 因为选项只是一个简单的选项Hash,add_column只查找它所知道的选项,所以你的stray :required选项会被默默忽略.
| 归档时间: |
|
| 查看次数: |
4313 次 |
| 最近记录: |