2016-11-22 144 views
1

我想添加一個索引到已存在於我的表中的列中。添加索引遷移添加列而不是遷移

我想在ITEM_ID添加一個索引上product_images表

bundle exec rails generate migration AddIndexToProductImages item_id:integer:index 

,但我在遷移文件中看到的代碼是

class AddIndexToProductImages < ActiveRecord::Migration 
    def change 
    add_column :product_images, :item_id, :integer 
    end 
end 

不知道這可能是造成這一點,任何人都可以幫助?謝謝。

回答

1

Rails會不會自動生成的內容遷移只爲指數

編輯生成的遷移有以下幾點:

class AddIndexToProductImages < ActiveRecord::Migration 
    def change 
    add_index :product_images, :item_id 
    end 
end 
+0

感謝迪帕克,已經accepeted你的答案,但有沒有這樣說,我可以閱讀更多有關「Rails會不會自動生成的內容遷移只是指數」的任何官方文件或鏈接 –

1

以下是命令生成指數移民文件:

bundle exec rails generate migration AddIndexesToProductImages item_id:integer:index 

如果它沒有正確的命令添加索引,則可以使用要添加的適當索引編輯生成的文件。您將不得不在change函數中執行以下操作。

def change 
    add_index :product_images, :item_id 
end