4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# File 'lib/gleis/database.rb', line 4
def self.backup(app_name)
token = Token.check
Utils.check_for_local_pg_command('pg_dump')
url = Config.get_env_var(app_name, token, 'DATABASE_URL')
abort('There is no database configured under the DATABASE_URL variable.') unless url
db_name = url.split('/').last
timestamp = Time.now.strftime('%Y%m%d%H%M%S')
backup_file = File.join(Dir.home, "#{app_name}_#{db_name}_#{timestamp}.pgdump")
if system("pg_dump -f #{backup_file} #{url}")
puts "Database configured at DATABASE_URL succesfully backed up locally in #{backup_file}"
else
puts 'Failed to backup database configured under DATABASE_URL'
end
end
|