Как создать столбец hstore в миграции Sequel?Как создать столбец hstore в миграции Sequel?
Sequel.migration do
change do
add_column :logs, :geo, HStore
end
end
не работает. Нужно ли загружать расширение?
Как создать столбец hstore в миграции Sequel?Как создать столбец hstore в миграции Sequel?
Sequel.migration do
change do
add_column :logs, :geo, HStore
end
end
не работает. Нужно ли загружать расширение?
Как Author's gem answered me, БД необходимо это дополнительное расширение перед использованием:
CREATE EXTENSION hstore
BTW, правильная строка: add_column: logs,: geo,: hstore # или 'hstore' – MegaTux
я не мог найти это в документации, поэтому я спросил на IRC.
jeremyevans: используется method_missing, что позволяет использовать любые типы пользовательских баз данных
Таким образом, вы можете указать json
, jsonb
до тех пор, как расширение включено:
Sequel.migration do
change do
create_table :foo do
primary_key :id
jsonb :bar
end
end
end
Чтобы включить расширение:
Sequel.extension :pg_json
И создать новый рекорд:
foo = Foo.new bar: Sequel.pg_jsonb({ 'baz' => 'qux' })
Я подозреваю, что ваш ответ лежит в этой документации, http://sequel.jeremyevans.net/rdoc/files/doc/postgresql_rdoc.html. В частности, посмотрите заголовок ** Поддержка типа базы данных PostgreSQL ** –
Спасибо, что указали мне правильную страницу документа, но я все еще не могу выполнить миграцию. Я пробовал разные имена, такие как: hstore,: h_store,: pg_hstore, HStore и т. Д. Я загрузил расширение pg_store DB и даже добавил gemfile в gemfile. Пробовал с json datatype и работает нормально, но я предпочитаю hstore. – MegaTux
Возможно, это ошибка в драгоценности. Вы сообщили об этом сопровождающим? –