Advertisement
Guest User

Untitled

a guest
May 24th, 2015
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. begin
  2. class CreateModels < ActiveRecord::Migration
  3. def change
  4. create_table :items do |t|
  5. end
  6.  
  7. create_table :events do |t|
  8. t.belongs_to :item
  9. end
  10.  
  11. create_table :event_people do |t|
  12. t.belongs_to :event
  13. t.belongs_to :person
  14. end
  15.  
  16. create_table :people do |t|
  17. end
  18. end
  19. end
  20.  
  21. class Item < ActiveRecord::Base
  22. has_many :events
  23. has_many :event_people, :through => :events
  24. has_many :people, :through => :events
  25. end
  26.  
  27. class Event < ActiveRecord::Base
  28. belongs_to :item
  29. has_many :event_people
  30. has_many :people, :through => :event_people
  31. end
  32.  
  33. class EventPerson < ActiveRecord::Base
  34. belongs_to :event
  35. belongs_to :person
  36. end
  37.  
  38. class Person < ActiveRecord::Base
  39. end
  40.  
  41. CreateModels.new.change
  42.  
  43. puts "Populating Database"
  44. 1000.times do
  45. Item.create
  46. end
  47.  
  48. Item.all.each_with_index do |item|
  49. event = Event.new
  50. event.people.build
  51. event.people.build
  52. item.events << event
  53. end
  54. rescue => e
  55. # Tables already exist
  56. # puts e.message
  57. end
  58.  
  59. # ::RubyProf.start
  60. StackProf.run(mode: :cpu, out: "./stackprof-cpu-prelading-4.2-#{Time.now.strftime('%F-%H-%M-%S')}.dump") do
  61. Item.preload(:people).limit(1000).order(:id).to_a
  62. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement