Skip to content

Instantly share code, notes, and snippets.

@qweluke
Created February 20, 2018 13:42
Show Gist options
  • Save qweluke/860faef7f6c8061e0553f98e99ede91c to your computer and use it in GitHub Desktop.
Save qweluke/860faef7f6c8061e0553f98e99ede91c to your computer and use it in GitHub Desktop.
capistrano: dump database
task :dump_db do
params = capture "cat #{deploy_to}/current/app/config/parameters.yml"
config = YAML.load(params)
backup_path = "#{fetch(:deploy_to)}/db_dumps"
run "mkdir -p #{backup_path}"
basename = 'database'
db_user = config['parameters']['database_user']
db_pw = config['parameters']['database_password']
db_name = config['parameters']['database_name']
filename = "#{basename}_#{default_stage}_#{db_name}_#{Time.now.strftime '%Y-%m-%d_%H:%M:%S'}.sql.bz2"
run "mysqldump -u #{db_user} -p#{db_pw} #{db_name} | bzip2 -9 > #{backup_path}/#{filename}"
end
#example usage
before "symfony:cache:warmup", "dump_db"
before "symfony:cache:warmup", "symfony:doctrine:migrations:migrate"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment