n Rails 6,通过迁移向表添加小数列的正确方法是什么?



我刚刚升级到Rails 6.1.4.4,之前在Rails 4中传递的迁移在新设置中失败。它是

class AddLatLngToStores < ActiveRecord::Migration[4.2]
def change
add_column :stores, :lat, :decimal, {:precision=>10, :scale=>6}
add_column :stores, :lng, :decimal, {:precision=>10, :scale=>6}
end
end

现在,当我运行"rakedb:migrate"时,我得到了错误

-- add_column(:stores, :lat, :decimal, {:precision=>10, :scale=>6})
rake aborted!
StandardError: An error has occurred, all later migrations canceled:
wrong number of arguments (given 4, expected 3)

在Rails6中添加列的正确方法是什么?

参考官方文档总是很好的,下面是add_column方法:https://api.rubyonrails.org/v7.0.4/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html#method-i-add_column

如果出于某种原因,你想坚持哈希语法,那么只要去掉大括号,你所拥有的应该仍然有效。

最新更新