2017-08-03 30 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