我当前正在运行一个Rails迁移我在哪里加入了特定的数据类型的Postgres到,所述的tsvector。它持有形式的搜索信息的Postgres预计,其内置的文本搜索功能。

这是从我的迁移的行:

t.column "search_vectors", :tsvector

似乎一切都工作正常,并用它来搜索的工作。然而,当我打开了schema.rb,这是我得到了什么:

Could not dump table "users" because of following StandardError
Unknown type 'tsvector' for column 'search_vectors'

这是阻止我的用户表运行单元测试,也令我真的很危险面色鉴于schema.rb应该是我的数据库的权威定义。

我注意到有许多的Rails的插件,似乎使用存储像我所期望的,诸如tsearchable所述的tsvector的相同的方法。我真的只是坚持没有测试,没有我的数据库的一个权威的定义?

有帮助吗?

解决方案

FYI的人谁碰到这个页面会发生,我解决了这个问题,加入这个(实际上取消注释吧)我的Rails的配置:点击 config.active_record.schema_format =:SQL

其他提示

你尝试指定类型作为字符串而不是符号?

t.column "search_vectors", "tsvector"

如果不工作,那么你可能需要下降到数据库特定的SQL:

def self.up
  execute "--Put your PostgreSQL specific SQL statements here"
end
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top