Sha256: 7ed574ee2849749bb35be7b6a996306e2881047dfb11bc8772ef4a58e246189e

Contents?: true

Size: 907 Bytes

Versions: 2

Compression:

Stored size: 907 Bytes

Contents

require_relative 'base_driver'

module Ariranha
  module Drivers
    class Mysql < BaseDriver
      def database
        mysql_database
      end

      private

      attr_reader :mysql_database, :mysql_host, :mysql_user, :mysql_password,
                  :mysql_ssl, :mysql_cert_path

      def config_driver
        config.each do |k, v|
          instance_variable_set("@mysql_#{k}".to_sym, v)
        end
      end

      def backup_cmd
        envs = {}
        cmd = "mysqldump -u#{mysql_user} "
        cmd += "-p#{mysql_password} " if mysql_password
        cmd += "--ssl_ca=#{mysql_cert_path} " if mysql_ssl
        cmd += '--single-transaction --routines --triggers '\
               "-h #{mysql_host} #{mysql_database} "\
               "| gzip -c > /tmp/#{filename}"
        [envs, cmd]
      end

      def filename
        "#{mysql_database}-#{timestamp}.sql.gz"
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ariranha-0.0.3 lib/ariranha/drivers/mysql.rb
ariranha-0.0.2 lib/ariranha/drivers/mysql.rb