【发布时间】:2020-04-02 21:29:52
【问题描述】:
如何在 Doobie 中读取/写入时间戳?
我有一个包含时间戳字段的记录类。当我尝试将其写入数据库或使用 doobie 读取时,我收到错误Cannot find or construct a Read instance for type。
case class ExampleRecord(data: String, created_at: Timestamp)
val create = sql"create table if not exists example_ts (data TEXT NOT NULL, created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP)".update.run
val insert = Update[ExampleRecord]("insert into example_ts (data, created_at) values (?, ?)")
.updateMany(List(
ExampleRecord("one", Timestamp.valueOf(LocalDateTime.now())),
ExampleRecord("two", Timestamp.valueOf(LocalDateTime.now()))
))
val select = sql"select data, created_at from example_ts".query[ExampleRecord].stream
val app = for {
_ <- create.transact(xa).compile.drain
_ <- insert.transact(xa).compile.drain
_ <- select.transact(xa).compile.drain
} yield ()
app.unsafeRunSync()
【问题讨论】:
-
你有这个问题吗?我实际上搜索了一段时间如何做到这一点。目前的文档没有说明如何做到这一点。我不得不在官方 doobie gitter 频道询问,他们说它已在最新版本中修复。
标签: postgresql scala doobie