sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Puedo almacenar arreglos en hstore con Rails?

hstore está destinado al almacenamiento simple de clave/valor, donde tanto las claves como los valores son cadenas simples no estructuradas. Del bien manual :

Tenga en cuenta la última oración:claves y valores en hstore son cuerdas. Eso significa que no puedes poner una matriz en un hstore valor sin ningún tipo de control para convertir la matriz a una cadena y desde ella y realmente no quiere perder el tiempo con ese tipo de cosas.

Sin embargo, existe un tipo de datos JSON disponible:

y JSON puede manejar fácilmente matrices y objetos integrados. Intenta usar JSON en su lugar:

add_column :users, :properties, :json

Tendrás que eliminar el viejo hstore Sin embargo, la columna primero.

Además, no querías array: true en tu hstore columna ya que no estaba almacenando una matriz de hstore s, solo querías uno de ellos.