Guest User

Untitled

a guest
Apr 23rd, 2018
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.18 KB | None | 0 0
  1. # Provide tasks to load and delete sample user data.
  2. require 'active_record'
  3. require 'active_record/fixtures'
  4.  
  5. namespace :db do
  6. DATA_DIRECTORY = "#{RAILS_ROOT}/vendor/plugins/classifieds/lib/tasks/sample_classifieds_data"
  7. namespace :sample_classifieds_data do
  8. TABLES = %w(categories classifieds countries replies states subcategories)
  9. MIN_USER_ID = 1000 # Starting user id for the sample data
  10. desc "Load sample data"
  11. task :load => :environment do |t|
  12. class_name = nil # Use nil to get Rails to figure out the class.
  13. TABLES.each do |table_name|
  14. fixture = Fixtures.new(ActiveRecord::Base.connection,
  15. table_name, class_name,
  16. File.join(DATA_DIRECTORY, table_name.to_s))
  17. fixture.insert_fixtures
  18. puts "Loaded data from #{table_name}.yml"
  19. end
  20. end
  21. desc "Remove sample data"
  22. task :delete => :environment do |t|
  23. Category.delete_all("id >= #{MIN_USER_ID}")
  24. Classified.delete_all("id >= #{MIN_USER_ID}")
  25. Country.delete_all("id >= #{MIN_USER_ID}")
  26. Reply.delete_all("id >= #{MIN_USER_ID}")
  27. State.delete_all("id >= #{MIN_USER_ID}")
  28. Subcategory.delete_all("id >= #{MIN_USER_ID}")
  29. end
  30. end
  31. end
Add Comment
Please, Sign In to add comment