Class: SQLGenerator::MysqlGenerator

Inherits:
SQLGenerator show all
Defined in:
lib/convergence/sql_generator/mysql_generator.rb

Constant Summary collapse

OPTION_MAPPING =
{
  engine: 'ENGINE',
  row_format: 'ROW_FORMAT',
  default_charset: 'DEFAULT CHARACTER SET',
  collate: 'COLLATE',
  comment: 'COMMENT',
  auto_increment: 'AUTO_INCREMENT'
}
QUOTE_OPTION =
[:comment]

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#original_tableObject (readonly)

Returns the value of attribute original_table.



14
15
16
# File 'lib/convergence/sql_generator/mysql_generator.rb', line 14

def original_table
  @original_table
end

Instance Method Details

#generate(to_table, delta, original_table) ⇒ Object



16
17
18
19
20
21
22
23
24
# File 'lib/convergence/sql_generator/mysql_generator.rb', line 16

def generate(to_table, delta, original_table)
  @original_table = original_table
  sqls = []
  sqls << change_table_sql(to_table, delta)
  sqls << drop_table_sqls(delta)
  sqls << create_table_sqls(delta)
  sqls.reject!(&:empty?)
  sqls.join("\n")
end