2017-01-12 4 views
0

Если я добавил эти значения хэша {"1" => "1", "3" => "3", "2" => "2"} в столбец hstore в PostgreSql (9.4) (через рельсы 5}, этот хэш будет переупорядочиваться под столбцом hstore и выглядит следующим образом: {"1" => "1", "2" => "2", "3" => "3"}. ?.. можно предотвратить этоRails, PostgreSQL и hstore

ответ

1

заказ Hash гарантируется в Ruby, я предполагаю, что, поскольку он покидает Руби и собирается в базу данных, вы не получаете гарантии больше я не думаю, что Postgres сохраняет порядок source:

Порядок пар [hstore] не является значимым (и не может быть воспроизведен на выходе)

Если вы действительно хотите, чтобы заказ был сохранен, я думаю, вам не повезло. Если вы хотите, чтобы заказ был таким же, вы должны отсортировать хеш-файл Ruby известным способом, а затем отсортировать SQL таким же образом. Я считаю, что есть способ сортировать столбец hstore по ключам: Order by a value of an arbitrary attribute in hstore

Смежные вопросы