Slick postgresql json: как сделать поиск без учета регистра? - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть столбец json в postgresql, сопоставленный с JsValue в гладкой модели.

case class Product(id: EntityId, name: JsValue)    

class Products(tag: Tag) extends BaseTable[Product](tag, "products") {
  def name        = column[JsValue]("name")

  def * =
    (id, name) <> (Product.tupled, Product.unapply)
}

Я могу выполнить поиск внутри столбца json, используя библиотеку slick-pg (https://github.com/tminglei/slick-pg)

val nameFilter: JsValue = Json.obj("en" -> name) products.filter(_.name @> nameFilter).result.headOption

Но проблема в том, что PostgreSql чувствителен к регистру, и мне нужно выполнить поиск без учета регистра в пределах name.en

Я не могу использовать расширение toLowerCase slick (как _.name.toLowerCase), так какname is JsValue

Есть ли способ выполнить поиск без учета регистра в столбцах json с помощью slick?

...