tde*_*lam 8 ruby-on-rails ruby-on-rails-3
我在我的生产服务器上运行了迁移,并且我正在使用MySQL,我收到此错误:
Mysql2 ::错误:'admin'的默认值无效:ALTER TABLE
users
ADDadmin
tinyint(1)DEFAULT'false'`
我的迁移看起来像这样:
class AddAdminToUsers < ActiveRecord::Migration
def change
add_column :users, :admin, :boolean, default: :false
end
end
Run Code Online (Sandbox Code Playgroud)
我理解错误是因为"false"不是tinyint的正确值,在这种情况下应该为0.我认为默认:: false是将布尔值默认为false的正确方法.
我如何解决这个问题,以便MySQL不会抱怨坏的价值?
fl0*_*00r 12
false
不是我相信的象征.试试这个
add_column :users, :admin, :boolean, default: false
Run Code Online (Sandbox Code Playgroud)
PS
我错了.所以你应该设置default: 0
:(.或者你可以修补ActiveRecord::Migration
所以它会接受true|false
归档时间: |
|
查看次数: |
10133 次 |
最近记录: |