我有一个legacy db
正在构建应用程序的rails 4
应用程序。
在我的数据库模式中,有相当多的字段具有单个数字非布尔数字(如 1-9),其中使用了数据类型Number(1)
。但是,oracle 适配器自动假定数据类型number(1)
始终为布尔值。
从this question中可以看出(rails3旁边4似乎是一样的)Rails 3数据类型?
我试图在 oea github 页面上找到一个选项,但是我找不到。
指向正确方向的指针会很棒。
我有一个legacy db
正在构建应用程序的rails 4
应用程序。
在我的数据库模式中,有相当多的字段具有单个数字非布尔数字(如 1-9),其中使用了数据类型Number(1)
。但是,oracle 适配器自动假定数据类型number(1)
始终为布尔值。
从this question中可以看出(rails3旁边4似乎是一样的)Rails 3数据类型?
我试图在 oea github 页面上找到一个选项,但是我找不到。
指向正确方向的指针会很棒。
来自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