# Create sales managers 5.times do SalesManager.create( name: Faker::Name.name, email: Faker::Internet.email, password: 'password' ) end # Create merchandisers 10.times do Merchandiser.create( name: Faker::Name.name, email: Faker::Internet.email, password: 'password', salesManager_id: SalesManager.all.sample.id, route_plan_id: rand(1..5) ) end # Create outlets 20.times do Outlet.create( name: Faker::Company.name, latitude: Faker::Address.latitude, longitude: Faker::Address.longitude ) end # Create route plans 5.times do RoutePlan.create( salesManager_id: SalesManager.all.sample.id, start_date: Faker::Date.between(from: '2022-01-01', to: '2022-12-31'), end_date: Faker::Date.between(from: '2023-01-01', to: '2023-12-31') ) end # Create route plan details RoutePlan.all.each do |route_plan| Merchandiser.all.each do |merchandiser| Outlet.all.sample(rand(1..5)).each do |outlet| RoutePlanDetail.create( routePlan_id: route_plan.id, merchandiser_id: merchandiser.id, outlet_id: outlet.id, date: Faker::Date.between(from: '2022-01-01', to: '2023-12-31') ) end end end # Create GPS logs Merchandiser.all.each do |merchandiser| rand(10..50).times do GpsLog.create( merchandiser_id: merchandiser.id, latitude: Faker::Address.latitude, longitude: Faker::Address.longitude, gpsStarted: Faker::Time.between(from: '2022-01-01', to: '2023-12-31'), gpsStopped: Faker::Time.between(from: '2022-01-01', to: '2023-12-31') ) end end
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter