Class: MysqlInspector::CLI::DiffCommand
- Includes:
- Formatting
- Defined in:
- lib/mysql_inspector/cli.rb
Instance Attribute Summary
Attributes inherited from Command
#config, #status, #stderr, #stdout
Instance Method Summary collapse
Methods included from Formatting
Methods inherited from Command
#get_dump, #initialize, #ivar, #parse!, #run!
Methods included from Helper
Constructor Details
This class inherits a constructor from MysqlInspector::CLI::Command
Instance Method Details
#parse(argv) ⇒ Object
228 229 230 231 232 233 234 235 236 237 238 239 240 |
# File 'lib/mysql_inspector/cli.rb', line 228 def parse(argv) case argv.size when 0 @version1 = CURRENT @version2 = TARGET when 1 @version1 = CURRENT @version2 = argv.shift else @version1 = argv.shift @version2 = argv.shift end end |
#run ⇒ Object
242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 |
# File 'lib/mysql_inspector/cli.rb', line 242 def run dump1 = get_dump(@version1) dump2 = get_dump(@version2) diff = Diff.new(dump1, dump2) diff.execute puts "diff #{@version1} #{@version2}" tables = diff.added_tables + diff.missing_tables + diff.different_tables if tables.any? puts tables.sort.each do |t| prefix = prefix_for_table(t, diff) puts "#{prefix} #{t.table_name}" if t.is_a?(Diff::TableDiff) format_diff_items(" COL", t.added_columns, t.missing_columns) format_diff_items(" IDX", t.added_indices, t.missing_indices) format_diff_items(" CST", t.added_constraints, t.missing_constraints) end end puts end end |