Open4
RailsのSchemaにインデックスを貼る方法とpostgresql上での確認方法

Schemaへのインデックスの貼り方
まずはファイルを生成する
bin/rails generate migration AddIndexHogehogehoge

ファイル内部を編集する
class AddIndexHogehogehoge < ActiveRecord::Migration[5.0]
StrongMigrations.disable_check(:add_index_columns)
disable_ddl_transaction!
def change
add_index :hoges, [:hoge1, :hoge2, :hoge3, :id], algorithm: :concurrently, name: "hogehoge"
end
end

StrongMigrationsについて
- migrationをチェックしてくれるgem
- 3つ以上の列を指定した複合インデックスはエラーで弾かれて作ることができません...
- StrongMigrationsで該当のエラーを無効にして対応しましょう
- 無効のやり方
- 引数で無効にするエラー名称を渡す
- エラー名称はこのファイルを参照する

想定した形のインデックスが生成されているかPostgreSQLを確認する
rails dbconsole
SELECT indexdef FROM pg_indexes where indexname = 'Hogehogehoge';