PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Posso armazenar arrays no hstore com Rails


hstore destina-se ao armazenamento simples de chave/valor, em que as chaves e os valores são strings simples não estruturadas. Do manual fino :

Observe a última frase:chaves e valores em hstore são cordas. Isso significa que você não pode colocar um array em um hstore value sem algum suporte para converter a matriz de e para uma string e você realmente não quer brincar com esse tipo de coisa.

No entanto, existe um tipo de dados JSON acessível:

e JSON podem manipular facilmente arrays e objetos incorporados. Tente usar JSON em vez disso:
add_column :users, :properties, :json

Você terá que remover o antigo hstore coluna primeiro embora.

Além disso, você não queria array: true em sua hstore coluna porque você não estava armazenando uma matriz de hstore s, você só queria um deles.