Как заставить Rails 4.2 работать с Postgres Jsonb?

Я видел несколько блог сообщения, утверждающие что rails 4.2 добавила поддержку нового типа данных Jsonb в Postgres 4.2.

Тем не менее, поиск в googling дает мне нулевые результаты о том, как на самом деле использовать тип данных. Поскольку я не зависим от порядка клавиш, и я бы хотел, чтобы мое приложение было быстрым, я бы очень хотел использовать Jsonb вместо json в одной из моих моделей.

Было ли это добавлено в 4.2, и если да, то как вы его используете?

Ответ 1

Это часть еще не выпущенной версии Rails 4.2 (в настоящее время 4.2.0.rc3). Чтобы использовать тип данных, укажите тип jsonb при создании таблицы:

create_table :users do |t|
  t.jsonb :extra_info
end

или добавить к существующей таблице

add_column :users, :extra_info, :jsonb

Так как jsonb практически совпадает с json, за исключением внутреннего хранилища, способ работы с столбцом - это то же самое также.