Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Provide tasks to load and delete sample user data.
- require 'active_record'
- require 'active_record/fixtures'
- namespace :db do
- DATA_DIRECTORY = "#{RAILS_ROOT}/vendor/plugins/classifieds/lib/tasks/sample_classifieds_data"
- namespace :sample_classifieds_data do
- TABLES = %w(categories classifieds countries replies states subcategories)
- MIN_USER_ID = 1000 # Starting user id for the sample data
- desc "Load sample data"
- task :load => :environment do |t|
- class_name = nil # Use nil to get Rails to figure out the class.
- TABLES.each do |table_name|
- fixture = Fixtures.new(ActiveRecord::Base.connection,
- table_name, class_name,
- File.join(DATA_DIRECTORY, table_name.to_s))
- fixture.insert_fixtures
- puts "Loaded data from #{table_name}.yml"
- end
- end
- desc "Remove sample data"
- task :delete => :environment do |t|
- Category.delete_all("id >= #{MIN_USER_ID}")
- Classified.delete_all("id >= #{MIN_USER_ID}")
- Country.delete_all("id >= #{MIN_USER_ID}")
- Reply.delete_all("id >= #{MIN_USER_ID}")
- State.delete_all("id >= #{MIN_USER_ID}")
- Subcategory.delete_all("id >= #{MIN_USER_ID}")
- end
- end
- end
Add Comment
Please, Sign In to add comment