2010-11-19 5 views
4

Rails 3.xで移行してデータベーステーブルを事前に設定する方法はありますか?私は州のリストを持っています。私はプロジェクトのビルドを設定しているときはいつでも事前に設定することができます。Railsは移行時にテーブルを事前投入する

答えて

4

イエップ。表を作成した後、Stateモデルを呼び出して表の作成を開始できます。

class LoadStates < ActiveRecord::Migration 
    def self.up 
    states = ['state1','state2','state2'] 
    for state in states 
     State.create(:name=>state) 
    end 
    end 

    def self.down 
    State.delete_all 
    end 
end 

あなたは私が一括挿入を行うにはactiverecord-import宝石を使用したいより多くの空想を取得したい場合。これは、インポートするレコードが数百から数千に及ぶ場合にも適しています。

def self.up 
    states = ['state1','state2','state2'] 
    states_for_import = [] 
    for state in states 
     states_for_import << State.new(:name=>state) 
    end 
    State.import states_for_import 
    end 
+1

なぜあなたはy'構文でxに対して '使用していますか? – fotanus

関連する問題