1

次のモデルを作成したい:

  create_table "item_groups", force: true do |t|
    t.string   "name",                         null: false
    t.integer  "locale_id",                    null: false
    t.boolean  "translated",   default: false, null: false
  end

翻訳済み = true (Postgres) の場合にのみインデックスを作成する複数列インデックスを追加するにはどうすればよいですか。私はそれがこのように少し見えると思います:

add_index "item_groups", ["translated", "locale_id"], name: "item_groups_translated_locale_id", where: "translated = true", using: :btree

アップデート

Rails 4 を使用しています。上記の構文は正しいですか?

更新 2

構文を次のように変更しました

add_index "item_groups", ["translated", "locale_id"], name: "item_groups_translated_locale_id", where: "(translated IS TRUE)", using: :btree

以下の Edgars Jekabsons の回答とhttps://coderwall.com/p/9hxejgに関する詳細情報

4

1 に答える 1