title: What's the correct syntax for remove_index in a Rails 3.1.0 migration?
body: <p>I'm in the process of adding Devise to an existing Rails app, with a Users table already defined. The devise generator pushed out the following migration:</p>
  
  <pre><code>class AddDeviseToUsers &lt; ActiveRecord::Migration
    def self.up
      change_table(:users) do |t|
  
       ## Database authenticatable
       t.string :email,              :null =&gt; false, :default =&gt; ""
       t.string :encrypted_password, :null =&gt; false, :default =&gt; ""
  
       ## Recoverable
       t.string   :reset_password_token
       t.datetime :reset_password_sent_at
  
       ## Rememberable
       t.datetime :remember_created_at
  
       ## Trackable
       t.integer  :sign_in_count, :default =&gt; 0
  
       blah blah blah....
  
     end
  
     add_index :users, :email,                :unique =&gt; true
     add_index :users, :reset_password_token, :unique =&gt; true
   end
  </code></pre>
  
  <p>The downward migration isn't generated, and I'm having a heck of a time removing those indexes. I'm seeing different suggested notation in the documentation, and different suggestions online, but none of them seem to be working for me.  For example...</p>
  
  <pre><code>def self.down
    change_table(:users) do |t|
      t.remove  :email
      t.remove  :encrypted_password
  
      t.remove  :reset_password_token
  
      blah blah blah...
    end
  
    remove_index :users, :email
    remove_index :users, :reset_password_token
  end
  </code></pre>
  
  <p>results in...</p>
  
  <pre><code>An error has occurred, this and all later migrations canceled:
  
  Index name 'index_users_on_email' on table 'users' does not exist
  </code></pre>
  
  <p>which is odd, because if I check the database, sure enough, 'index_users_on_email' is right there...  </p>
  
  <p>I've tried other variations, including</p>
  
  <pre><code>remove_index :users, :column =&gt; :email
  
  remove_index :users, 'email'
  </code></pre>
  
  <p>or:</p>
  
  <pre><code>change_table(:users) do |t|
    t.remove_index :email
  end
  </code></pre>
  
  <p>...but no dice. I'm running Rails 3.1.0, Ruby 1.9.2, rake 0.9.2.2, with Postgres.</p>
  
  <p>The command that's letting me down is:</p>
  
  <pre><code>bundle exec rake db:rollback STEP=1
  </code></pre>
  
  <p>after successfully apply the migration up. Any advice?</p>