В настоящее время я запускаю миграцию 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. Я действительно просто застрял без тестирования и без авторитетного определения моей базы данных?