我有一个legacy db
,我正在构建一个rails 4
应用。
在我的 db schema 中,有一些字段具有单个数字非布尔值(如1-9),其中使用了Number(1)
的数据类型。但是,oracle适配器自动假定数据类型number(1)
始终是布尔值。
从这个问题可以看出(rails3除了4似乎是相同的)Rails 3 datatypes?
我试图在o.e.a上找到一个选项。 github页面然而我找不到一个。
正确方向的指针会很棒。
答案 0 :(得分:1)
来自https://github.com/rsim/oracle-enhanced/issues/338
这是一种默认行为,如果需要,也可以禁用。
##
# :singleton-method:
# By default, the OracleEnhancedAdapter will consider all columns of type <tt>NUMBER(1)</tt>
# as boolean. If you wish to disable this emulation you can add the following line
# to your initializer file:
#
# ActiveRecord::ConnectionAdapters::OracleEnhancedAdapter.emulate_booleans = false
cattr_accessor :emulate_booleans
self.emulate_booleans = true