class Koine::Tasks::MysqlDump

Constants

OutputFileNotSetError

Attributes

database[RW]
dependencies[RW]
hostname[RW]
output_file[W]
password[RW]
task_name[RW]
url[RW]
username[RW]

Public Class Methods

new(env: ENV) { |self| ... } click to toggle source
# File lib/koine/tasks/mysql_dump.rb, line 19
def initialize(env: ENV)
  self.task_name    ||= 'mysql:dump'
  self.dependencies ||= []
  self.url          ||= env['DB_URL']
  self.hostname     ||= env['DB_HOST']
  self.database     ||= env['DB_NAME']
  self.username     ||= env['DB_USER']
  self.password     ||= env['DB_PASSWORD']
  self.output_file = env['MYSQL_BACKUP_FILE']
  yield(self) if block_given?
  define_task
end

Public Instance Methods

output_file() click to toggle source
# File lib/koine/tasks/mysql_dump.rb, line 32
def output_file
  @output_file || raise(OutputFileNotSetError)
end

Private Instance Methods

configuration() click to toggle source
# File lib/koine/tasks/mysql_dump.rb, line 50
def configuration
  {
    url: url,
    hostname: hostname,
    database: database,
    username: username,
    password: password
  }
end
define_task() click to toggle source
# File lib/koine/tasks/mysql_dump.rb, line 38
def define_task
  desc 'Mysqldump to backup file'
  task task_name => dependencies do
    execute_task
  end
end
execute_task() click to toggle source
# File lib/koine/tasks/mysql_dump.rb, line 45
def execute_task
  backup = Koine::DbBkp::Mysql::Dump.new(configuration)
  backup.to_sql_file(output_file)
end