0

我在Rails 3.2.3應用程序中,並且在我的數據庫遷移中爲外鍵添加索引。但是,在運行遷移之後,鍵似乎不會被編入索引。我已經通過mysql控制檯直接進行了測試。這是我做了什麼,更好地描述:add_index在Rails 3中不工作

我有一個Car模式,是關係到一個Owner模型,如:因爲那些是現有的數據庫表我創造了另一個遷移添加索引

class Car 
    belongs_to :owner 
end 

class Owner 
    has_many :car 
end 

,我把:

add_index :cars, :owner_id, name: "owner_index" 

然後我跑了migrations和根據Rails一切都很好。但是,當我登錄到我的MySQL,並運行EXPLAIN查詢,我沒有看到owner_indexkey collumn:

mysql> EXPLAIN SELECT * FROM cars WHERE owner_id = 41; 
+-------------+------+---------------+---------+-------+---------+-------------+ 
| select_type | type | key   | key_len | ref | rows | Extra  | 
+-------------+------+---------------+---------+-------+---------+-------------+ 
| SIMPLE  | ref | NULL   | 5  | const | 108 | Using where | 
+-------------+------+---------------+---------+-------+---------+-------------+ 
1 row in set (0.00 sec) 

理論上(並根據this post),在前面的查詢鍵列應該返回owner_index而不是NULL

我做錯了什麼?我錯過了什麼?

回答

0

哦,對不起,這只是我的注意力不足而已。只要您將name參數傳遞給add_index方法,上述步驟就可以正常工作。