2012-05-09 131 views
0

我目前在我的數據庫標題屬性中有一個字段。下面分別添加爲默認設置:mysql默認值

{"ag_type": [ "ag:adult40s", "ag:teen", "ag:senior"], "gender_type": "unisex"} 

,並在我的Rails應用程序,我有這些屬性設置爲在視圖中的複選框,所有默認爲「選中」。不過,我需要一些更多的屬性添加爲默認的,所以它看起來像這樣:

{"ag_type": [ "ag:adult20s", "ag:adult30s", "ag:adult40s", "ag:teen", "ag:senior"], "gender_type": "unisex"} 

當我添加這些值作爲默認值,它們目前在數據庫但更改默認設置的每一行,當我檢查結構它們被添加爲默認值。我怎樣才能改變每條記錄的默認數據庫(約40,000條記錄)

回答

0

你可以做線沿線的東西:

console: rails g migration SetDefaultValuesForMyField 

這將創造在分貝空遷移/遷移

遷移裏面你可以這樣做:

class SetDefaultValuesForMyField < ActiveRecord::Migration 
    def up 
    change_column :table, :ag_type, :text, :default => [ "ag:adult40s", "ag:teen", "ag:senior"] 
    Table.update_all ["ag_type= ?", [ "ag:adult40s", "ag:teen", "ag:senior"]] 
    end 

    def down 
    end 
end 

More on migrations