我在我的生产服务器上运行了迁移,并且我正在使用
MySQL,我收到此错误:
MysqL2::Error: Invalid default value for ‘admin’: ALTER TABLE
users
ADDadmin
tinyint(1) DEFAULT ‘false’`
我的迁移看起来像这样:
class AddAdminToUsers < ActiveRecord::Migration def change add_column :users,:admin,:boolean,default: :false end end
我理解错误是因为“false”不是tinyint的正确值,在这种情况下应该为0.我认为默认:: false是将布尔值默认为false的正确方法.
解决方法
虚假不是我相信的象征.试试这个
add_column :users,default: false
PS我错了.所以你应该设置默认值:0 :(.或者你可以修补ActiveRecord :: Migration所以它会接受true | false