hstore är avsedd för enkel nyckel/värdelagring, där både nycklar och värden är enkla ostrukturerade strängar. Från den fina manualen
:
Notera den sista meningen:nycklar och värden i hstore är strängar. Det betyder att du inte kan placera en array i en hstore värde utan någon handhållning för att konvertera arrayen till och från en sträng och du vill verkligen inte bråka med den typen av saker.
Det finns dock en JSON-datatyp tillgänglig:
och JSON kan enkelt hantera inbäddade arrayer och objekt. Försök att använda JSON istället:
add_column :users, :properties, :json
Du måste ta bort den gamla hstore kolumn först dock.
Dessutom ville du inte ha array: true på din hstore kolumn eftersom du inte lagrade en array av hstore s, du ville bara ha en av dem.