class Naifa::Heroku::Postgres
Public Class Methods
backup(filename, environment=:staging)
click to toggle source
# File lib/naifa/heroku.rb, line 6 def self.backup(filename, environment=:staging) res = capture(environment) Utils.download_file(filename, "`#{build_public_url_command(environment)}`") if res end
build_restore_command(backup_url, environment)
click to toggle source
# File lib/naifa/heroku.rb, line 24 def self.build_restore_command(backup_url, environment) "heroku pg:backups:restore #{backup_url} DATABASE_URL -r #{environment}" end
capture(environment=:staging)
click to toggle source
# File lib/naifa/heroku.rb, line 16 def self.capture(environment=:staging) Kernel.system(build_capture_command(environment)) end
restore(environment=:staging)
click to toggle source
# File lib/naifa/heroku.rb, line 20 def self.restore(environment=:staging) Kernel.system(build_capture_command(environment)) end
sync(from=:production, to=:staging)
click to toggle source
# File lib/naifa/heroku.rb, line 11 def self.sync(from=:production, to=:staging) res = capture(from) Kernel.system(build_restore_command("`#{build_public_url_command(from)}`", to)) if res end
Private Class Methods
build_capture_command(environment)
click to toggle source
# File lib/naifa/heroku.rb, line 34 def self.build_capture_command(environment) "heroku pg:backups capture -r #{environment}" end
build_public_url_command(environment)
click to toggle source
# File lib/naifa/heroku.rb, line 28 def self.build_public_url_command(environment) "heroku pg:backups public-url -r #{environment}" end