diff options
| author | mo khan <mo@mokhan.ca> | 2017-01-26 21:52:28 -0700 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2017-01-26 21:52:28 -0700 |
| commit | e6e9bc5c03b16b1f68881e451ee1842308dcb2b2 (patch) | |
| tree | 49d2c73e3ce5c351efcfda31a9f8f98d24a930b4 /db | |
| parent | c2b711599d782b3c906a867a96d4ee7eccf7115e (diff) | |
choose random computer/business.
Diffstat (limited to 'db')
| -rw-r--r-- | db/seeds.rb | 49 |
1 files changed, 27 insertions, 22 deletions
diff --git a/db/seeds.rb b/db/seeds.rb index ab3aa69..55d5ad8 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -11,25 +11,9 @@ class Seeds end def run - 10.times do - background_thread do - rand(100).times do - rand(50).times do - puts "creating" - database[:events].insert( - computer_id: create_computer(business_id: create_business(name: FFaker::Company.name)), - occurred_at: DateTime.parse(FFaker::Time.datetime), - type: event_types.sample, - data: JSON.generate({ - ip_address: FFaker::Internet.ip_v4_address, - mac: FFaker::Internet.mac, - url: FFaker::Internet.http_url, - }) - ) - end - end - end - end + 100.times { create_business } + 10_000.times { create_computer } + 25_000.times { create_event } ensure @threads.map(&:join) end @@ -40,11 +24,32 @@ class Seeds @threads << Thread.new(&block) end - def create_computer(active: rand(100).even?, business_id:) - database[:computers].insert(active: active, business_id: business_id) + def create_computer(active: rand(100).even?, business: random_business) + database[:computers].insert(active: active, business_id: business[:id]) end - def create_business(name:) + def create_business(name: FFaker::Company.name) database[:businesses].insert(name: name, business_relationship_id: rand(3)) end + + def create_event(computer: random_computer) + database[:events].insert( + computer_id: computer[:id], + occurred_at: DateTime.parse(FFaker::Time.datetime), + type: event_types.sample, + data: JSON.generate({ + ip_address: FFaker::Internet.ip_v4_address, + mac: FFaker::Internet.mac, + url: FFaker::Internet.http_url, + }) + ) + end + + def random_business + database[:businesses].limit(1).offset(rand(database[:businesses].count)).first + end + + def random_computer + database[:computers].limit(1).offset(rand(database[:computers].count)).first + end end |
