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