module PerconaMigrations::Runners

Public Class Methods

find_runner() click to toggle source
# File lib/percona_migrations/runners.rb, line 18
def self.find_runner
  if Runners::Percona.available?
    Runners::Percona
  else
    log_percona_install_command
    Runners::Sql if PerconaMigrations.allow_sql?
  end
end
run(*args) click to toggle source
# File lib/percona_migrations/runners.rb, line 7
def self.run(*args)
  runner_class = find_runner

  unless runner_class
    raise "No available migration runners found."
  end

  runner = runner_class.new(*args)
  runner.run
end

Private Class Methods

log_percona_install_command() click to toggle source
# File lib/percona_migrations/runners.rb, line 29
def self.log_percona_install_command
  logger = PerconaMigrations.logger
  return unless logger

  logger.warn ""
  logger.warn "*" * 80
  logger.warn ""
  logger.warn "`#{Runners::Percona::COMMAND}` command not found, please install percona tools:"
  logger.warn "$ brew install percona-toolkit"
  logger.warn ""
  logger.warn "*" * 80
  logger.warn ""
end