Class: Mysqlknife::Checksum

Inherits:
Object
  • Object
show all
Defined in:
lib/mysqlknife/checksum.rb

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Checksum

Returns a new instance of Checksum.



5
6
7
8
9
10
11
# File 'lib/mysqlknife/checksum.rb', line 5

def initialize(options = {})
  dsn_from  = Config.new.dsn(options[:from])
  dsn_to    = Config.new.dsn(options[:to])

  @sum_from = sum(dsn_from, options[:table])
  @sum_to   = sum(dsn_to, options[:table])
end

Instance Method Details

#equal?Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/mysqlknife/checksum.rb', line 22

def equal?
  (@sum_from == @sum_to)
end

#sum(dsn, table) ⇒ Object



13
14
15
16
17
18
19
20
# File 'lib/mysqlknife/checksum.rb', line 13

def sum(dsn, table)
  conn    = Connection.new(dsn)
  sql     = Sql.new(dsn[:database], table)
  columns = conn.execute(sql.columns)
  sql     = sql.checksum(columns)
  columns = conn.execute(sql)
  columns.first['sum']
end