似乎以前有人问过这个问题:rails decimal precision and scale

但是,当为change_column:precision运行:scale迁移时,它们实际上不会影响架构或数据库,但是db:migrate可以正常运行。

我的迁移文件如下所示:

class ChangePrecisionAndScaleOfPaybackPeriodInTags < ActiveRecord::Migration
  def self.up
    change_column :tags, :payback_period, :decimal, { :scale => 3, :precision => 10 }
  end

  def self.down
    change_column :tags, :payback_period, :decimal
  end
end


但是我的架构(和数据)仍然是:

t.decimal  "payback_period"


其他人有这个问题吗?

谢谢,

乔希

最佳答案

发生了相关(但不相同)的问题。我只是在更改比例,所以在更改:scale时,您需要整行:

change_column :something, :weight, :decimal, :precision => 10, :scale => 2


省略:decimal(已经是)和:precision(已经是10)将导致迁移失败。

10-06 04:55