hstore est destiné au stockage simple clé/valeur, où les clés et les valeurs sont de simples chaînes non structurées. À partir du manuel fin
:
Notez la dernière phrase :clés et valeurs dans hstore sont des chaînes. Cela signifie que vous ne pouvez pas mettre un tableau dans un hstore value sans prise en main pour convertir le tableau vers et à partir d'une chaîne et vous ne voulez vraiment pas vous embêter avec ce genre de chose.
Cependant, il existe un type de données JSON disponible :
et JSON peut facilement gérer des tableaux et des objets intégrés. Essayez plutôt d'utiliser JSON :
add_column :users, :properties, :json
Vous devrez supprimer l'ancien hstore la colonne en premier.
De plus, vous ne vouliez pas array: true sur votre hstore colonne car vous ne stockiez pas un tableau de hstore s, vous en vouliez juste un.