光滑的进口钻石操作员<>

时间:2018-09-18 08:07:42

标签: scala slick

我找不到精巧的<>运算符的postgres导入。我正在尝试为java.time.OffsetDateTime创建映射。错误是:

not found: value <>
  <> ((Bonus.apply _).tupled, Bonus.unapply _)

我的*方法:

override def * = (id, name, createdAt) <> ((Bonus.apply _).tupled, Bonus.unapply _)

我的OffsetDateTime映射:

  implicit def zoneDateTime: TypedType[OffsetDateTime]  =
    MappedColumnType.base[OffsetDateTime, String](
      zdt => zdt.toString,
      date => OffsetDateTime.parse(date)
    )

我相信import slick.jdbc.PostgresProfile.api._应该有效,但事实并非如此。没有OffsetDateTime和方法

,一切正常

override def * = (id, name, createdAt).mapTo[Bonus]

1 个答案:

答案 0 :(得分:0)

您缺少OffsetDateTime的映射。您必须提供一个隐式JdbcType[OffsetDateTime]实例。 AFAIR默认的postgres驱动程序不为您提供它们,这就是为什么许多人使用类似slick-pg之类的原因。

例如您将需要类似

的内容
import com.github.tminglei.slickpg._

trait MyPostgresProfile extends ExPostgresProfile with PgDate2Support {

  override val api = MyAPI

  object MyAPI extends API with DateTimeImplicits
}

object MyPostgresProfile extends MyPostgresProfile

当然,您需要将PostgresProfile所有用法替换为MyPostgresProfile