私はRails 3.2.3アプリケーションを使用しています。データベースの移行で外部キーのインデックスを追加しています。ただし、移行を実行した後にキーがインデックスに登録されていないように見えます。私はmysqlコンソールから直接テストしました。それは、私がやったより良い説明です:add_indexがRails 3で動作していません
私はOwner
モデルに関連しているCar
モデルを持っている、よう:
class Car
belongs_to :owner
end
class Owner
has_many :car
end
ものは、私はインデックスを追加する別の移行を作成したDBテーブルを既存たので、私は次のように書いています。
add_index :cars, :owner_id, name: "owner_index"
次に、私はマイグレーションを実行し、Railsに従ってすべてうまくいっています。私は私のmysqlにログインして、EXPLAINクエリを実行するときしかし、私はkey
collumnでowner_index
が表示されていない。
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
ではありません。
私は間違ったことをしましたか?私は何が欠けていますか?