2010-10-03 67 views
1

我是ActiveRecord的新手。我意识到我已经忘记为我的一个表中的列添加默认值。我想创建一个迁移来解决这个问题,但我无法弄清楚。有没有可以在迁移过程中调用的alter_column方法?如果不是,我该怎么做?如何在Rails中用ActiveRecord更改列?

编辑:我只是试图使用change_column,但是这将导致错误是这样的:

- change_column(:推车,:数量,为整数,{:默认=> 1}) - > 0.0097s rake中止! 发生错误,这和所有后来迁移取消:

错误的参数数目(0 1)

回答

3

你可以简单地做一个change_table

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

编辑:在此你可以使用change_column_default

+0

这不适用于Rails 3.它给了我这个错误:'SQLite3 :: SQLException:重复的列名称:数量:ALTER TABLE“购物车”ADD“数量”int eger DEFAULT 1' – picardo 2010-10-03 18:25:49

+0

我几乎没有看到你的编辑。谢谢。 – picardo 2010-10-03 18:59:56

相关问题