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