Class: AwesomeBackup::PostgresBackupService

Inherits:
ApplicationService show all
Defined in:
app/services/awesome_backup/postgres_backup_service.rb

Instance Method Summary collapse

Instance Method Details

#executeObject



4
5
6
7
8
9
10
11
12
13
14
15
# File 'app/services/awesome_backup/postgres_backup_service.rb', line 4

def execute
  result = `#{pg_dump_command} > \"#{tempfile_path}\"`
  raise "Command failed: #{result}" unless $CHILD_STATUS.exitstatus.zero?

  backup = AwesomeBackup::PostgresBackup.create!
  backup.file.attach(
    io: File.open(tempfile_path),
    filename: "database.dump"
  )

  succeed!(backup: backup)
end