我目前正在运行 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 插件似乎使用与我期望的相同的方法来存储 tsvector,例如 tsearchable。我真的只是在没有测试并且没有对我的数据库的权威定义的情况下陷入困境吗?