ruby-on-rails - 使用特定于数据库的数据类型进行 Rails 迁移

标签 ruby-on-rails postgresql migration tsvector custom-data-type

我目前正在运行 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/

相关文章:

ruby-on-rails - 不能让 accepts_nested_attributes_for 工作两层深?

ruby-on-rails - 如何在 RSpec 中测试更新用户密码

Python 到 Jython 的陷阱?

HTML/CSS/Ruby on Rails header ,带有突出到页面内容中的 Logo

sql - postgresql 中用户选择的可变间隔选项

sql - 在 postgres 的第一个表上左连接预过滤

sql - 按 order_num 字段查找下一个连续行

java - 从 Google Java API 数据存储迁移到 Mysql

java - 自动将测试从 JUnit 3 迁移到 JUnit 4 的最佳方法?

ruby-on-rails - 使用 Ruby 收集超过 1 个变量