Module: SQL::Mysql
- Defined in:
- lib/dm-migrations/sql/mysql.rb
Defined Under Namespace
Instance Method Summary collapse
- #change_column_type_statement(name, column) ⇒ Object
- #property_schema_statement(connection, schema) ⇒ Object
- #recreate_database ⇒ Object
- #supports_schema_transactions? ⇒ Boolean
- #supports_serial? ⇒ Boolean
- #table(table_name) ⇒ Object
- #table_options(opts) ⇒ Object
Instance Method Details
#change_column_type_statement(name, column) ⇒ Object
40 41 42 |
# File 'lib/dm-migrations/sql/mysql.rb', line 40 def change_column_type_statement(name, column) "ALTER TABLE #{quote_name(name)} MODIFY COLUMN #{column.to_sql}" end |
#property_schema_statement(connection, schema) ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/dm-migrations/sql/mysql.rb', line 32 def property_schema_statement(connection, schema) if supports_serial? && schema[:serial] statement = "#{schema[:quote_column_name]} SERIAL PRIMARY KEY" else super end end |
#recreate_database ⇒ Object
14 15 16 17 18 |
# File 'lib/dm-migrations/sql/mysql.rb', line 14 def recreate_database execute "DROP DATABASE #{schema_name}" execute "CREATE DATABASE #{schema_name}" execute "USE #{schema_name}" end |
#supports_schema_transactions? ⇒ Boolean
6 7 8 |
# File 'lib/dm-migrations/sql/mysql.rb', line 6 def supports_schema_transactions? false end |
#supports_serial? ⇒ Boolean
20 21 22 |
# File 'lib/dm-migrations/sql/mysql.rb', line 20 def supports_serial? true end |
#table(table_name) ⇒ Object
10 11 12 |
# File 'lib/dm-migrations/sql/mysql.rb', line 10 def table(table_name) SQL::Mysql::Table.new(self, table_name) end |
#table_options(opts) ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/dm-migrations/sql/mysql.rb', line 24 def (opts) opt_engine = opts[:storage_engine] || storage_engine opt_char_set = opts[:character_set] || character_set opt_collation = opts[:collation] || collation " ENGINE = #{opt_engine} CHARACTER SET #{opt_char_set} COLLATE #{opt_collation}" end |