class Object
Constants
- LOCAL_ENV
- REMOTE_ENV
- TIMESTAMP
Public Instance Methods
create_backup(host, user, password, name, timestamp)
click to toggle source
# File lib/capistrano/mysql.rb, line 69 def create_backup(host, user, password, name, timestamp) execute "mysqldump -h #{host} -u#{user} -p#{password} #{name} > #{shared_path}/db_backups/#{timestamp}.sql" end
create_dir(path)
click to toggle source
# File lib/capistrano/mysql.rb, line 65 def create_dir(path) execute "mkdir -p #{path}" end
get_latest_backup_filename(path)
click to toggle source
# File lib/capistrano/mysql.rb, line 77 def get_latest_backup_filename(path) filename = capture "cd #{path}; ls -t | awk '{printf(\"%s\", $0); exit}'" filename end
import_local_mysql_database(filename)
click to toggle source
# File lib/capistrano/mysql.rb, line 96 def import_local_mysql_database(filename) system "cd ..; cd #{LOCAL_ENV['VAGRANT_PATH']}; vagrant ssh -c 'mysql #{local_mysql_credentials} -D #{local_mysql_database} < /srv/www/#{LOCAL_ENV['VAGRANT_SITE_NAME']}/current/#{filename}'" end
local_mysql_credentials()
click to toggle source
# File lib/capistrano/mysql.rb, line 82 def local_mysql_credentials credential_params = "" credential_params << " -u #{LOCAL_ENV['DB_USER']} " if LOCAL_ENV['DB_USER'] credential_params << " -p'#{LOCAL_ENV['DB_PASSWORD']}' " if LOCAL_ENV['DB_USER'] credential_params << " -h #{LOCAL_ENV['DB_HOST']} " if LOCAL_ENV['DB_HOST'] credential_params end
local_mysql_database()
click to toggle source
# File lib/capistrano/mysql.rb, line 92 def local_mysql_database LOCAL_ENV['DB_NAME'] end
remove_old_backups(path)
click to toggle source
# File lib/capistrano/mysql.rb, line 73 def remove_old_backups(path) execute "(cd #{path}; ls -1tr | head -n -5 | xargs -d '\\n' rm)" # Keep only five latest end