Class: Convergence::Dumper::MysqlSchemaDumper
- Inherits:
-
Object
- Object
- Convergence::Dumper::MysqlSchemaDumper
- Defined in:
- lib/convergence/dumper/mysql_schema_dumper.rb
Instance Method Summary collapse
- #dump ⇒ Object
-
#initialize(connector) ⇒ MysqlSchemaDumper
constructor
A new instance of MysqlSchemaDumper.
Constructor Details
#initialize(connector) ⇒ MysqlSchemaDumper
Returns a new instance of MysqlSchemaDumper.
5 6 7 8 9 |
# File 'lib/convergence/dumper/mysql_schema_dumper.rb', line 5 def initialize(connector) @connector = connector @target_database = connector.config.database @tables = {} end |
Instance Method Details
#dump ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/convergence/dumper/mysql_schema_dumper.rb', line 11 def dump table_definitions = select_table_definitions(@target_database) column_definitions = select_column_definitions(@target_database).group_by { |r| r['TABLE_NAME'] } index_definitions = select_index_definitions(@target_database).group_by { |r| r['TABLE_NAME'] } table_definitions.map { |r| r['TABLE_NAME'] }.each do |table_name| table = Convergence::Table.new(table_name) (table, table_definitions.find { |r| r['TABLE_NAME'] == table_name }) parse_columns(table, column_definitions[table_name]) parse_indexes(table, index_definitions[table_name]) @tables[table_name] = table end @tables end |