Rails migrationでadd_columnのオプションにindex: trueをしても効かないから気をつけよう

ここ最近Railsを触っていて一番の衝撃といってもいいかもしれない。
知識のアップデートを怠ってはいけない。悲しい。

ブログ記事や色々なところで add_column にオプションとして index: true を貼っているものを見るのですが、あれ実はindexが効いていないそうなのです(衝撃)

add_column ignores index: true

こちらのプルリクで無効なオプションが渡されたらWARNINGエラーが出るように修正されたものがmasterブランチにmergeされているので次バージョンにのるのか近いうちにリリースされそうですね。

以下のようなコードを見かけたらadd_indexをつけましょう。あとmigrationしたらgitでschema.rbとかstructure.sqlとか確認しておきましょう。

add_column :hoge, :fuga, index: true

以下に修正

add_column :hoge, :fuga
add_index :hoge, :fuga

他のissueでもmigrationにvalidationをつけるやつあるからそこらへん気にしなくてよくなる未来は近そう
Add validations for t.references/add_reference options