ruby-on-rails – 在MySQL中添加默认布尔值的正确方法是什么?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 在MySQL中添加默认布尔值的正确方法是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的生产服务器上运行了迁移,并且我正在使用 MySQL,我收到此错误

MysqL2::Error: Invalid default value for ‘admin’: ALTER TABLE users ADD admin tinyint(1) DEFAULT ‘false’`

我的迁移看起来像这样:

class AddAdminToUsers < ActiveRecord::Migration
  def change
    add_column :users,:admin,:boolean,default: :false
  end
end

我理解错误是因为“false”不是tinyint的正确值,在这种情况下应该为0.我认为默认:: false是将布尔值默认为false的正确方法.

我如何解决这个问题,以便MysqL不会抱怨坏的价值?

解决方法

虚假不是我相信的象征.试试这个
add_column :users,default: false

PS我错了.所以你应该设置默认值:0 :(.或者你可以修补ActiveRecord :: Migration所以它会接受true | false

猜你在找的Ruby相关文章