我需要在數據庫中的用戶表中添加一個新列。我想要設置列的類型。該列代表用戶性別。該組應該有兩個選項。一種形式爲男性「m」,另一種形式爲女性「f」。在rails中創建一個包含數據庫遷移的集合列
但我還沒有找到任何文檔添加設置類型的列。
我該怎麼做?
我需要在數據庫中的用戶表中添加一個新列。我想要設置列的類型。該列代表用戶性別。該組應該有兩個選項。一種形式爲男性「m」,另一種形式爲女性「f」。在rails中創建一個包含數據庫遷移的集合列
但我還沒有找到任何文檔添加設置類型的列。
我該怎麼做?
使用了什麼數據庫? MySQL的?如果你想使用SET數據類型,你必須手動完成,因爲rails不支持它。然而,我只是做
t.string :gender, :limit => 1
爲了方便起見。
在您的用戶模型中,您應該添加以下行以要求M/F答案。
validates_inclusion_of :gender, :in => %w(m f M F)
我想你想用默認的數據類型(糾正我,如果我錯了)加上性別列,如果是這樣就不會有步驟
這裏我假定「M」是對於男性,「F」是女性(如果你願意,你可以使用整數也)
創建遷移
ruby script/generate migration add_gender_column_to_users
這將創建一個遷移爲您和顧名思義它會加入性別專欄供您使用RS表
在遷移self.up操作添加此
add_column :users, :gender, :string, :default => 'm'
在這裏說,我們要添加字符串類型,它的默認值的性別欄的「m」
,這增加self.down事件
remove_column :users, :gender
所以你最終的遷移將是這個樣子
class AddGenderColumnToUsers < ActiveRecord::Migration
def self.up
add_column :users, :gender, :string, :default => 'm'
end
def self.down
remove_column :users, :gender
end
end
,並做了
rake db:migrate
完蛋了,希望這有助於
是的,這是MySQL的。好吧,會做到這一點 – Lisinge 2010-04-22 10:32:34