aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
diff options
context:
space:
mode:
authorTravis Jeffery <travisjeffery@gmail.com>2012-03-21 01:20:35 +0000
committerTravis Jeffery <travisjeffery@gmail.com>2012-03-21 01:20:35 +0000
commitb2a59388b2ad281ccce1f72dd5fda09ca746dc32 (patch)
treeb07814dd9aab2618ad07395c542bcad37a48a2e6 /activerecord/lib
parentb49a7ddce18a35a39fd5b3f6003d4a02cbd09b0e (diff)
downloadrails-b2a59388b2ad281ccce1f72dd5fda09ca746dc32.tar.gz
rails-b2a59388b2ad281ccce1f72dd5fda09ca746dc32.tar.bz2
rails-b2a59388b2ad281ccce1f72dd5fda09ca746dc32.zip
Generate Migration Thats Adds Removed Index
When generating a migration that removes a field with an index, the down will add both the field and its index.
Diffstat (limited to 'activerecord/lib')
-rw-r--r--activerecord/lib/rails/generators/active_record/migration/templates/migration.rb3
1 files changed, 3 insertions, 0 deletions
diff --git a/activerecord/lib/rails/generators/active_record/migration/templates/migration.rb b/activerecord/lib/rails/generators/active_record/migration/templates/migration.rb
index d084a00ed7..43fa956c85 100644
--- a/activerecord/lib/rails/generators/active_record/migration/templates/migration.rb
+++ b/activerecord/lib/rails/generators/active_record/migration/templates/migration.rb
@@ -24,6 +24,9 @@ class <%= migration_class_name %> < ActiveRecord::Migration
<% attributes.reverse.each do |attribute| -%>
<%- if migration_action -%>
<%= migration_action == 'add' ? 'remove' : 'add' %>_column :<%= table_name %>, :<%= attribute.name %><% if migration_action == 'remove' %>, :<%= attribute.type %><%= attribute.inject_options %><% end %>
+ <%- if attribute.has_index? && migration_action == 'remove' -%>
+ add_index :<%= table_name %>, :<%= attribute.index_name %><%= attribute.inject_index_options %>
+ <%- end %>
<%- end -%>
<%- end -%>
end