我在我的应用程序中设置了属性的整数值的所有模型,但现在我已经添加到数据库中,我意识到它们需要是小数(最多允许 2 个小数位)。
有很多属性需要更改(即每个模型大约 20 个)。
我的搜索告诉我每个模型都需要数据库迁移,例如
rails generate migration change_data_type_for_tpn
然后编辑迁移说
class ChangeDataTypeForTPN < ActiveRecord::Migration
def self.up
change_table :tpn do |t|
t.change :pot, :decimal, :precision => 2, :scale => 1
end
end
def self.down
change_table :tpn do |t|
t.change :pot, :integer
end
end
end
我的问题是:
- 这看起来对吗?
- 为什么它需要 self.up 和 self.down 即这实际上是什么意思?
- 如果我想同时进行多个属性类型更改,我可以在第一个下面添加另一个 t.change 行吗?
谢谢