namespace :db do namespace :heroku do desc "capture DB Backup" task :capture_backup => :environment do if Rails.env == 'development' Bundler.with_clean_env do config = Rails.configuration.database_configuration[Rails.env] system "heroku pg:backups capture" end end end desc "Pull DB Backup" task :download_backup => :capture_backup do if Rails.env == 'development' Bundler.with_clean_env do config = Rails.configuration.database_configuration[Rails.env] system "curl -o latest.dump `heroku pg:backups public-url`" end end end desc "Load the PROD database from Heroku to the local dev database" task :load => :download_backup do if Rails.env == 'development' Bundler.with_clean_env do config = Rails.configuration.database_configuration[Rails.env] system <<-CMD pg_restore --verbose --clean --no-acl --no-owner -h localhost \ -U #{config["username"]} -d #{config["database"]} latest.dump rm -rf latest.dump CMD end end end end end