2010-10-03 54 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

相關問題