2017-08-03 9 views
2

私の開発DBには、本番環境でのセットアップにもっと似た量のレコードをシードしようとしています。この主な理由は、最適化によってもたらされます。実際のデータではなく、で25k、75k、125k Usersなど、さまざまな量のテストを行いたいと思います。私が考えることができる唯一のアプローチは、ダンプのさまざまなバリエーションを作成することです。これは、レコードを削除するのにかかる時間が非常に長いためです。どのようにしてこの作業を達成できますか?Rails:アソシエーションを使用して100kのランダムなユーザーを生成してシードdbを作成する方法

答えて

5

一つの方法は、ダンプするにはthis

gem 'faker' 


offering_type = ["Lunch", "Dinner", "Breakfast", "Tiffin"] 


100.times do 
    todo = Todoitem.create(
      title:"#{Faker::Company.name} #{Faker::Company.suffix}", 
      offering_type: offering_type.sample, 
      website: 'http://www.' + Faker::Internet.domain_name, 
      socialmedia_url:"", 
      logo:Faker::Company.logo 
      ) 
    todo.create_associated(associated_hash) 
end 

です: `あなたは` todo.create_associated(associated_hash)で何が起こっているかについて詳しく説明してもらえ

をあなたが移行コードを書いたり

+0

をロールバックすることができますし、ここで 'associated_hash'はどこから来ていますか? – mycellius

+0

プライマリレコード "todo"から関連オブジェクト "visitor"を作成するには: 'todo.create_visitor(params [:visitor])' - 'params [:visitor]'で 'visitor_hash ' '#Todoitem.create(todo_hash)'内のハッシュ入力に似た '#Faker 'を使った訪問者のモデルと値 – srs

関連する問題