Как добавить индекс триграммы с нижней функцией в рельсах 5 - PullRequest
0 голосов
/ 21 марта 2020

Чтобы использовать индекс триграмм, мне нужно написать так.

add_index :people, :last_name, using: :gist, opclass: { last_name: :gist_trgm_ops }

И я хочу использовать его с LOWER функцией.

add_index :people, "lower(last_name)", using: :gist, opclass: { "lower(last_name)" => :gist_trgm_ops }

Я могу запустить это миграция, но, похоже, индекс не создан должным образом. С помощью команды execute я мог бы создать правильный индекс.

execute "CREATE INDEX index_people_on_lower_last_name ON people USING GIST (lower(last_name) gist_trgm_ops);"

Насколько возможно, я хочу избежать использования execute. Есть ли лучший способ написать файл миграции для индекса триграмм с помощью функции postgres?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...