如何在Rails中使用ActiveRecord更改列?

问题描述 投票:1回答:1

我是ActiveRecord的新手。我意识到我忘了为我的一个表中的列添加默认值。我想创建一个迁移来解决这个问题,但我无法弄清楚如何。是否有可在迁移期间调用的alter_column方法?如果没有,我该怎么办?

编辑:我刚尝试使用change_column,但这会导致如下错误:

- change_column(:carts,:quantity,:integer,{:default => 1}) - > 0.0097s rake aborted!发生错误,此以及所有后续迁移都已取消:

参数个数错误(0表示1)

database activerecord ruby-on-rails-3 migration
1个回答
3
投票

你可以简单地做一个change_table

change_table(:tablename) do |t|
   t.change :name, :string, :default => "something"
end

编辑:在这种情况下,您可以使用change_column_default

© www.soinside.com 2019 - 2024. All rights reserved.