Je veux créer le modèle suivant:Rails: index partiel Multicolumn avec contrainte sur une colonne
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
Comment puis-je ajouter un index de plusieurs colonnes que seuls les index où = true (traduit Postgres). Je suppose que ce serait un peu comme regarder ceci:
add_index "item_groups", ["translated", "locale_id"], name: "item_groups_translated_locale_id", where: "translated = true", using: :btree
Mise à jour
J'utilise Rails 4. Est-ce la syntaxe correcte ci-dessus?
Mise à jour 2
j'ai changé la syntaxe à
add_index "item_groups", ["translated", "locale_id"], name: "item_groups_translated_locale_id", where: "(translated IS TRUE)", using: :btree
Plus d'informations sur la réponse de Edgars Jekabsons ci-dessous et sur https://coderwall.com/p/9hxejg
Merci pour votre réponse. J'utilise Rails 4. La syntaxe que j'ai posté est-elle correcte? – migu
Oui. Vérifiez le lien que je vous ai donné, ils ont utilisé la requête Rails 4 pull pour mettre en œuvre la même chose dans leur gemme, donc il devrait être compatible à 100%. –
L'a changé en 'où: (traduit IS TRUE)" ' – migu