Here’s a quick capistrano task for synchronizing a remote database to your local development environment:
set :application, "appname" set :application_path, "/home/someurl/apps" set :user, "appuser" set :password, "***********" set :use_sudo, false set :production_database,'mydb_production' set :production_dbhost, 'localhost' set :dbuser, 'dbadmin' set :dbpass, '************' desc "Synchronizes remote database to local development database" task :sync_to_local, :roles => :web do sql_out = "#{environment_database}.sql" run "mysqldump --user #{dbuser} --password=#{dbpass} #{environment_database} > #{sql_out}" system "sftp #{user}@mywebserver.com:#{sql_out} /tmp/#{sql_out}" run "rm #{sql_out}" system "mysql -u #{dbuser} --password=#{dbpass} somedatabase_development < /tmp/#{sql_out}" system "rm /tmp/#{sql_out}" end