title: schema.rb index different from individual migration index
body: <p>I have this for my migration:</p>
  
  <pre><code>class CreateCategories &lt; ActiveRecord::Migration
    def up
      create_table :categories do |t|
        t.integer :parent_id
        t.string  :title, :null =&gt; false
      end
      execute('CREATE UNIQUE INDEX ix_categories_root_title ON categories (title) WHERE parent_id IS NULL') 
    end
    def down
      drop_table :categories
    end
  end
  </code></pre>
  
  <p>But when I peeked into db/schema.rb I saw this instead:</p>
  
  <pre><code>ActiveRecord::Schema.define(:version =&gt; 20110808161830) do
    create_table "categories", :force =&gt; true do |t|
      t.integer "parent_id"
      t.string  "title", :null =&gt; false
    end
    add_index "categories", ["title"], :name =&gt; "ix_categories_root_title", :unique =&gt; true
  end
  </code></pre>
  
  <p>Which obviously isn't the same thing and incorrect.  Is there anyway to force schema.rb to create the same index?  I'm using postresql with Rails 3.1 pre.</p>