Миграции направляющих с определенными для базы данных типами данных

Я в настоящее время выполняю миграцию направляющих, где я добавляю тип данных, характерный для Пост-ГРЭС, tsvector. Это содержит поисковую информацию в форме, которую Пост-ГРЭС ожидает для ее встроенного текста, ищущего возможности.

Это - строка от моей миграции:

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, как предполагается, является авторитетным определением моей базы данных.

Я замечаю, что существует много плагинов направляющих, которые, кажется, используют тот же подход хранения tsvector как, я ожидал бы, такой как tsearchable. Я действительно просто застревают, не тестируя и без авторитетного определения моей базы данных?

13
задан APC 3 March 2010 в 12:36
поделиться

2 ответа

К вашему сведению на этой странице я исправил это, добавив это (фактически раскомментировав) в свою конфигурацию Rails:
config.active_record.schema_format =: sql

13
ответ дан 2 December 2019 в 00:31
поделиться

Пробовали ли вы указать тип как строку, а не как символ?

t.column "search_vectors", "tsvector"

Если это не сработает, то вам, возможно, придется перейти к SQL, специфичному для базы данных:

def self.up
  execute "--Put your PostgreSQL specific SQL statements here"
end
1
ответ дан 2 December 2019 в 00:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: