Class: Flydata::Mysql::MysqlDumpGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/flydata/command/sync.rb

Constant Summary collapse

MYSQL_DUMP_CMD_TEMPLATE =

host, port, username, password, database, tables

"mysqldump --protocol=tcp -h %s -P %s -u%s %s --skip-lock-tables --single-transaction --hex-blob %s %s %s"
EXTRA_MYSQLDUMP_PARAMS =
""

Instance Method Summary collapse

Constructor Details

#initialize(conf) ⇒ MysqlDumpGenerator

Returns a new instance of MysqlDumpGenerator.



857
858
859
860
861
862
863
864
865
866
867
# File 'lib/flydata/command/sync.rb', line 857

def initialize(conf)
  password = conf['password'].to_s.empty? ? "" : "-p#{conf['password']}"
  tables = if conf['tables']
             conf['tables'].split(',').join(' ')
           else
             ''
           end
  @dump_cmd = MYSQL_DUMP_CMD_TEMPLATE %
    [conf['host'], conf['port'], conf['username'], password, self.class::EXTRA_MYSQLDUMP_PARAMS, conf['database'], tables]
  @db_opts = [:host, :port, :username, :password, :database].inject({}) {|h, sym| h[sym] = conf[sym.to_s]; h}
end

Instance Method Details

#dump(file_path) ⇒ Object



868
869
870
# File 'lib/flydata/command/sync.rb', line 868

def dump(file_path)
  raise "subclass must implement the method"
end