【发布时间】:2015-03-17 12:09:00
【问题描述】:
我有一个迁移:
class AddGinIndexToContacts < ActiveRecord::Migration
def up
execute("CREATE INDEX contacts_search_idx ON contacts USING gin (first_name gin_trgm_ops, last_name gin_trgm_ops, name gin_trgm_ops)")
end
def down
execute("DROP INDEX contacts_search_idx")
end
end
它在schema.rb中生成此代码:
add_index "contacts", ["first_name", "last_name", "name"], name: "contacts_search_idx", using: :gin
之后,当我执行rake db:schema:load 时,它会生成错误的sql:
CREATE INDEX "contacts_search_idx" ON "contacts" USING gin ("first_name", "last_name", "name")
首先,它说:
错误:数据类型字符变化没有默认操作符类 访问方法“gin”
其次,还有gin_trgm_ops丢失。
如何让它发挥作用?
Rails 4.2
【问题讨论】:
标签: ruby-on-rails ruby migration pg-search trigram