Pregunta

Actualmente estoy ejecutando una migración de los carriles donde estoy añadiendo un determinado tipo de datos de Postgres, el tsvector. Contiene información de búsqueda en el formulario que Postgres espera de su base de capacidades de búsqueda de texto.

Esta es la línea de mi migración:

t.column "search_vectors", :tsvector

Todo parece estar funcionando bien, y la búsqueda trabaja con él. Sin embargo, al abrir bien schema.rb, esto es lo que tengo:

Could not dump table "users" because of following StandardError
Unknown type 'tsvector' for column 'search_vectors'

Esto me está impidiendo la ejecución de pruebas de unidad en la tabla de usuario, y también me parece muy peligroso que mira dado que el schema.rb se supone que es la definición oficial de mi base de datos.

Me he dado cuenta que hay una serie de plugins de Rails que parecen utilizar el mismo método de almacenar el tsvector como yo esperaría, como tsearchable. ¿Estoy realmente atrapado sin probar y sin una definición oficial de mi base de datos?

¿Fue útil?

Solución

Para su información para cualquier persona que pasa a través de esta página, que fija esto añadiendo este (en realidad se descomentando) a mi config Rieles:
config.active_record.schema_format =: sql

Otros consejos

¿Usted ha intentado especificando el tipo como una cadena en lugar de un símbolo?

t.column "search_vectors", "tsvector"

Si eso no funciona, entonces puede que tenga que bajar a-específica base de datos SQL:

def self.up
  execute "--Put your PostgreSQL specific SQL statements here"
end
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top