2017-08-03 35 views
2

我想種子我的發展數據庫與更接近我的生產設置的記錄量。主要原因是優化。我想用不同數量的實際數據但是進行測試,即使用25k,75k和125k Users等等,都有關聯。我能想到的唯一方法是創建轉儲的不同變體,由於要刪除記錄需要多長時間,這會花費很長時間!如何才能完成這項任務?Rails:如何生成和種子數據庫與100k隨機用戶與協會

回答

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 

轉儲:

你可以寫一個遷移代碼或回滾

+0

能否請您對正在發生的事情'todo.create_associated(associated_hash)闡述和' 「associated_hash」來自哪裏? – mycellius

+0

要從主記錄「todo」創建關聯對象「visitor」:'todo.create_visitor(params [:visitor])' - 在'params [:visitor]'中,您可以將自己的「visitor_hash」使用'#Faker'的訪問者模型和值與'#Todoitem.create(todo_hash)'中的散列輸入類似' – srs