Rails 3 - 将PostgreSQL数据库转储到schema.rb中对数字类型的精度不正确

时间:2011-11-29 20:29:08

标签: ruby-on-rails rails-postgresql

我有一个现有的postgresql数据库,我想在新的rails应用程序中使用,所以我首先要使用rake db:schema:dump将现有模式转储到schema.rb中。但是,当我这样做时,schema.rb对于数字列有一个奇怪的精度值。

create_table "order", :id => false, :force => true do |t|
    ....
    t.decimal  "Quantity",               :precision => 131089, :scale => 0
    ....

在我的PostgreSQL数据库中,数字类型列没有明确的精度或比例集。

为什么精确度显示出如此巨大的价值?

我也尝试在schema.rb中更改和删除precision修饰符,但每次进行迁移时,它都会使用这些巨大的值重新生成schema.rb文件。我查看了ActiveRecord table definition,但这不是很有帮助。

1 个答案:

答案 0 :(得分:0)

我怀疑这被选为PostgreSQL中数值的最大精度。请参阅http://www.postgresql.org/docs/9.2/static/datatype-numeric.html