namespace :db do
  desc 'Deletes all rows in the database while keeping the schema'
  task :clean => :environment do |t,args|
    parallel_tests_available = File.exists?('Gemfile') && File.open('Gemfile').read.scan(/parallel_tests/).any?
    # invoke database cleaning for all parallel test databases if parallel tests was available (one time recursion)
    if parallel_tests_available and ENV['RAILS_ENV'] == 'test' and not ENV['TEST_ENV_NUMBER']
      run_in_parallel("bundle exec rake db:clean", args)
    else
      DatabaseCleaner.strategy = :truncation
      DatabaseCleaner.clean
    end
  end
end

