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.