diff options
author | Yves Senn <yves.senn@gmail.com> | 2012-12-28 22:56:44 +0100 |
---|---|---|
committer | Yves Senn <yves.senn@gmail.com> | 2013-02-20 18:19:25 +0100 |
commit | 39eef1a565ef02e4dabc0811ef1bf4547ff9a60e (patch) | |
tree | cc528b7c8edb014e65bc9c4e1c5e8dec4d89993d /activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb | |
parent | 20ed3e0f715741ca53c992bcdf87b5039e6692af (diff) | |
download | rails-39eef1a565ef02e4dabc0811ef1bf4547ff9a60e.tar.gz rails-39eef1a565ef02e4dabc0811ef1bf4547ff9a60e.tar.bz2 rails-39eef1a565ef02e4dabc0811ef1bf4547ff9a60e.zip |
also rename indexes when a table or column is renamed
When a table or a column is renamed related indexes kept their name. This will lead to confusing names. This patch renames related indexes when a column or a table is renamed. Only indexes with names generated by rails will be renamed. Indexes with custom names will not be renamed.
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb index e07dbc7da9..0871454cfe 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb @@ -468,6 +468,7 @@ module ActiveRecord # rename_table('octopuses', 'octopi') def rename_table(table_name, new_name) execute "RENAME TABLE #{quote_table_name(table_name)} TO #{quote_table_name(new_name)}" + rename_table_indexes(table_name, new_name) end def add_column(table_name, column_name, type, options = {}) @@ -495,6 +496,7 @@ module ActiveRecord def rename_column(table_name, column_name, new_column_name) #:nodoc: execute("ALTER TABLE #{quote_table_name(table_name)} #{rename_column_sql(table_name, column_name, new_column_name)}") + rename_column_indexes(table_name, column_name, new_column_name) end # Maps logical Rails types to MySQL-specific data types. |