module DB

Public Instance Methods

copy_db_cmd() click to toggle source
# File lib/synchronizer/db.rb, line 9
def copy_db_cmd
  if dest = fetch(:sync_db_to, nil)
    scp_file(fetch(:db_dump_file), dest)
  else
    raise "missing variable sync_db_to"
  end
end
copy_db_to_local() click to toggle source
# File lib/synchronizer/db.rb, line 17
def copy_db_to_local
 download! "#{fetch(:db_dump_file)}", "#{fetch(:db_dump_file).split('/')[-1]}"
end
dump_db() click to toggle source
# File lib/synchronizer/db.rb, line 3
def dump_db
  _stage = fetch(:stage, nil).to_s
  cfg = read_db_config(_stage)
  execute pg_dump_cmd(cfg)
end

Private Instance Methods

pg_dump_cmd(opts) click to toggle source
# File lib/synchronizer/db.rb, line 23
def pg_dump_cmd(opts)
  db_dump_file = "#{shared_path}/#{opts.fetch('database')}.dump"
  set :db_dump_file, db_dump_file
  str = "PGPASSWORD=#{opts.fetch('password')} pg_dump -U #{opts.fetch('username')} -h #{opts.fetch('host')} -Fc #{opts.fetch('database')} -f #{db_dump_file}"
  str
end
read_db_config(stage) click to toggle source
# File lib/synchronizer/db.rb, line 31
def read_db_config(stage)
  db_cfg = YAML::load(capture("cat #{shared_path}/config/database.yml"))
  db_cfg[stage]
end