我目前正在运行 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。我真的只是在没有测试和没有对我的数据库的权威定义的情况下陷入困境吗?
最佳答案
仅供引用,对于遇到此页面的任何人,我通过将此添加(实际上取消注释)到我的 Rails 配置中来修复此问题:
配置.active_record.schema_format = :sql
关于ruby-on-rails - 使用特定于数据库的数据类型进行 Rails 迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2359701/