私は現在、Postgres に固有のデータ型である tsvector を追加する Rails 移行を実行しています。組み込みのテキスト検索機能で Postgres が期待する形式で検索情報を保持します。
これは私の移行からの行です:
t.column "search_vectors", :tsvector
すべてが正常に機能しているようで、検索はそれで機能します。ただし、schema.rb を開くと、次のようになりました。
Could not dump table "users" because of following StandardError
Unknown type 'tsvector' for column 'search_vectors'
これにより、user テーブルで単体テストを実行できなくなります。また、schema.rb がデータベースの正式な定義であると想定されていることを考えると、非常に危険なように見えます。
tsearchable など、期待どおりに tsvector を保存する同じアプローチを使用しているように見える Rails プラグインがいくつかあることに気付きました。テストせず、データベースの正式な定義なしで、本当に立ち往生しているのでしょうか?