diff options
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/mysql_adapter.rb')
-rwxr-xr-x | activerecord/lib/active_record/connection_adapters/mysql_adapter.rb | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb b/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb index ec0558a4d5..14343b2750 100755 --- a/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb @@ -199,8 +199,19 @@ module ActiveRecord execute "CREATE DATABASE #{name}" end - def create_table(name) - super(name, "ENGINE=InnoDB") + def change_column(table_name, column_name, type, options = {}) + change_column_sql = "ALTER TABLE #{table_name} MODIFY #{column_name} #{type}" + add_column_options!(change_column_sql, options) + execute(change_column_sql) + end + + def rename_column(table_name, column_name, new_column_name) + current_type = select_one("SHOW COLUMNS FROM #{table_name} LIKE '#{column_name}'")["Type"] + execute "ALTER TABLE #{table_name} CHANGE #{column_name} #{new_column_name} #{current_type}" + end + + def create_table(name, options = {}) + super(name, {:options => "ENGINE=InnoDB"}.merge(options)) end private |