hstore jest przeznaczony do przechowywania prostego klucza/wartości, w którym zarówno klucze, jak i wartości są prostymi nieustrukturyzowanymi ciągami. Z dokładnej instrukcji
:
Zwróć uwagę na ostatnie zdanie:klucze i wartości w hstore są struny. Oznacza to, że nie możesz umieścić tablicy w hstore wartość bez trzymania za rękę, aby przekonwertować tablicę na i z łańcucha, a naprawdę nie chcesz bawić się z takimi rzeczami.
Istnieje jednak typ danych JSON dostępne:
a JSON może z łatwością obsługiwać osadzone tablice i obiekty. Spróbuj zamiast tego użyć JSON:
add_column :users, :properties, :json
Będziesz musiał usunąć stary hstore Najpierw jednak kolumna.
Ponadto nie chciałeś array: true w Twoim hstore kolumna, ponieważ nie przechowywałeś tablicy hstore s, chciałeś tylko jednego z nich.