在将 Ruby on Rails 与 mysql2 适配器一起使用时,我想在我的数据库中访问和写入几个 BIT 列。但是,当ActiveRecord尝试写入 BIT 列时,mysql 抱怨x'30'和x'31'(即 '0' 和 '1')对于 BIT(1) 列来说太大了。
适配器 mysql2 在连接的查询函数中具有哈希选项 connection.query(str, :cast_booleans=>true),以便能够将FalseClassandTrueClass转换为b'0'andb'1'而不是x'30'and x'31'。但是,我从不.query直接访问,我将其留给ActiveRecord(否则,rails 有什么意义?)。
我如何告诉ActiveRecord使用:cast_booleans?