Как использовать операторы json для нестандартного типа в slick с помощью slick-pg - PullRequest
0 голосов
/ 27 мая 2019

Я использую slick с slick-pg с намерением использовать возможности json.Я создал определение таблицы с пользовательским типом Foo.Foo представляет json в базе данных, используя тип JsonString по умолчанию из slick-pg. Я отобразил его на свой тип следующим образом:

implicit val fooColumnType: JdbcType[Foo] with BaseTypedType[Foo] =
MappedColumnType.base[Foo, JsonString](
  foo => /* implementation detail */ ???,
  jsonString => /* implementation detail */ ???
)

Затем я ожидал, что смогу запросить json с операторами (https://github.com/tminglei/slick-pg/tree/master/core/src/main/scala/com/github/tminglei/slickpg/json) например: fooTable.filter(_.properties.+>>("bar")... Однако это не работает.

Я видел похожие темы, например: https://github.com/tminglei/slick-pg/issues/90 Но они слишком специфичны для сторонних расширений, вв этом случае реализация основана на JsValue и утилитах, предоставленных play-json.

Как заставить это работать?

...