namespace :api_log do namespace :test do namespace :schema do # desc 'Dump additional database schema' task dump: [:environment] do filename = "#{Rails.root}/db/api_log_schema.rb" File.open(filename, 'w:utf-8') do |file| ActiveRecord::Base.establish_connection("api_log_#{Rails.env}".to_sym) ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, file) end end # desc 'Purge and load foo_test schema' task load: [:environment] do # like db:test:purge abcs = ActiveRecord::Base.configurations ActiveRecord::Base.clear_all_connections! ActiveRecord::Base.connection.drop_database('api_log_test') ActiveRecord::Base.connection.create_database('api_log_test', abcs['api_log_test']) # like db:test:load_schema ActiveRecord::Base.establish_connection('api_log_test') ActiveRecord::Schema.verbose = false load("#{Rails.root}/db/api_log_schema.rb") end task reload: [:environment] do Rake::Task['api_log:test:schema:dump'].invoke Rake::Task['api_log:test:schema:load'].invoke end end end end