0
我們使用Rails 3.2.18和activerecord-sqlserver-adapter gem。一切都很好,直到我們發現一個小數列被視爲整數的問題。儘管事實上該列有十進制(18,2)類型集,但ActiveRecords將其視爲十進制(18,0),並將該屬性視爲整數。SQL Server 2008 R2的ActiveRecord將十進制(18,2)列看作十進制(18,0)
> Model.columns_hash['decimal_attr'].sql_type
=> "decimal(18,0)"
> Model.columns_hash['decimal_attr'].type
=> :integer
有什麼建議嗎?我很樂意至少有一個方向來挖掘這個。
編輯:這是一個傳統的數據庫
映射應該是小數十進制 - http://stackoverflow.com/questions/4685009/rails-3-datatypes。我建議看一下默認值http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/TableDefinition.html#method-i-column,如果需要覆蓋。 –
@PavelNefyodov,遺憾的是這是遺留數據庫中的現有表,我無法重新創建它。 –