hstore è inteso per una semplice memorizzazione di chiave/valore, in cui sia le chiavi che i valori sono semplici stringhe non strutturate. Dal fine manual
:
Nota l'ultima frase:chiavi e valori in hstore sono stringhe. Ciò significa che non puoi inserire un array in un hstore valore senza alcuna gestione per convertire l'array in e da una stringa e non vuoi davvero scherzare con quel genere di cose.
Tuttavia, esiste un tipo di dati JSON disponibile:
e JSON possono gestire facilmente array e oggetti incorporati. Prova invece a usare JSON:
add_column :users, :properties, :json
Dovrai rimuovere il vecchio hstore prima colonna però.
Inoltre, non volevi array: true sul tuo hstore colonna perché non stavi archiviando un array di hstore s, ne volevi solo uno.