Sha256: bdcf06da6d53f7b776d9ec8f37d858ddbec41858d60f39a3a5e4e25ac93b61cb

Contents?: true

Size: 1.59 KB

Versions: 24

Compression:

Stored size: 1.59 KB

Contents

require 'flydata/source/generate_source_dump'
require 'flydata/preference/data_entry_preference'
require 'flydata/source_mysql/mysql_compatibility_check'
require 'flydata/source_mysql/parser/dump_parser'
require 'flydata-core/mysql/binlog_pos'

module Flydata
module SourceMysql

class GenerateSourceDump < Source::GenerateSourceDump
  def run_compatibility_check(dump_dir, backup_dir)
    %w(host username database).each do |k|
      if de['mysql_data_entry_preference'][k].to_s.empty?
        raise "'#{k}' is required. Set the value in the conf file " +
              "-> #{Flydata::Preference::DataEntryPreference.conf_path(de)}"
      end
    end

    MysqlCompatibilityCheck.new(dp, de['mysql_data_entry_preference'], dump_dir: dump_dir, backup_dir: backup_dir).check
  end

  def confirmation_items
    mp = de['mysql_data_entry_preference']
    items = {
      "host"     => mp['host'],
      "port"     => mp['port'],
      "username" => mp['username'],
      "database" => mp['database'],
    }
    items["ssl"] = "Yes" if mp['ssl_ca']

    items
  end

  def dump_size(tables)
    opts = de['mysql_data_entry_preference'].merge({"tables" => tables})
    Parser::DatabaseSizeCheck.new(opts).get_db_bytesize
  end

  def dump(tables, file_path = nil, &src_pos_callback)
    opts = de['mysql_data_entry_preference'].merge({"tables" => tables})
    dump_generator = Parser::MysqlDumpGeneratorNoMasterData.new(opts)

    dump_generator.dump(file_path) do |io, binlog_hash|
      source_pos = FlydataCore::Mysql::BinlogPos.new(binlog_hash)
      src_pos_callback.call(io, source_pos)
    end
    nil
  end
end

end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
flydata-0.7.12 lib/flydata/source_mysql/generate_source_dump.rb
flydata-0.7.11 lib/flydata/source_mysql/generate_source_dump.rb
flydata-0.7.10 lib/flydata/source_mysql/generate_source_dump.rb
flydata-0.7.9 lib/flydata/source_mysql/generate_source_dump.rb
flydata-0.7.8 lib/flydata/source_mysql/generate_source_dump.rb
flydata-0.7.7 lib/flydata/source_mysql/generate_source_dump.rb
flydata-0.7.6 lib/flydata/source_mysql/generate_source_dump.rb
flydata-0.7.5 lib/flydata/source_mysql/generate_source_dump.rb
flydata-0.7.4 lib/flydata/source_mysql/generate_source_dump.rb
flydata-0.7.2.1 lib/flydata/source_mysql/generate_source_dump.rb
flydata-0.7.2 lib/flydata/source_mysql/generate_source_dump.rb
flydata-0.7.1 lib/flydata/source_mysql/generate_source_dump.rb
flydata-0.7.0 lib/flydata/source_mysql/generate_source_dump.rb
flydata-0.6.14 lib/flydata/source_mysql/generate_source_dump.rb
flydata-0.6.13 lib/flydata/source_mysql/generate_source_dump.rb
flydata-0.6.12 lib/flydata/source_mysql/generate_source_dump.rb
flydata-0.6.11 lib/flydata/source_mysql/generate_source_dump.rb
flydata-0.6.10 lib/flydata/source_mysql/generate_source_dump.rb
flydata-0.6.9 lib/flydata/source_mysql/generate_source_dump.rb
flydata-0.6.8 lib/flydata/source_mysql/generate_source_dump.rb