Rails - 在 Heroku 的浮点列中插入小数时出错

Rails - Error while inserting decimal in a float column in Heroku

我有一个 table 正在开发中,是通过此迁移创建的:

class CreateMateriales < ActiveRecord::Migration
 def change
  create_table :materiales do |t|
   t.belongs_to :refaccion, index: true
   t.belongs_to :solmate, index: true
   t.integer :partida
   t.integer :pedida
   t.integer :surtida

   t.timestamps null: false
  end
 end
end

但后来我意识到我需要在 :pedida:surtida 上存储小数,所以我做了这个迁移:

class ChangeTypesPedidaSurtidaMateriales < ActiveRecord::Migration
  def self.up
    change_column :materiales, :pedida, :float
    change_column :materiales, :surtida, :float
  end

  def self.down
    change_column :materiales, :pedida, :integer
    change_column :materiales, :surtida, :integer
  end
end

它在开发中发挥了作用,但当我将它推送到 Heroku 时,它只是将它们存储为整数。我跟踪了数据并注意到它以小数形式发送并且到达时很好但是在 INSERT_INTO 命令上它被四舍五入了:

我也在 Heroku 的控制台中进行了测试,它确实正确地保存了它。

知道为什么它会变圆吗?我正在异步发送它。我在 Heroku 的开发中使用 sqlite3,在生产中使用 Postgresql。

已推送到生产环境,运行 迁移一开始不起作用,但一段时间后(大约 10 分钟),更改现在可见。我不知道这是否是 Heroku 上的错误。