Prisma 中带有时区列的时间戳

Posted

技术标签:

【中文标题】Prisma 中带有时区列的时间戳【英文标题】:Timestamp with timezone column in Prisma 【发布时间】:2021-02-08 14:05:32 【问题描述】:

我正在评估 Prisma,我是一个完全的菜鸟......

我正在使用 Postgresql 我有以下模型定义
model Sth 
  id                 Int       @default(autoincrement()) @id
  createdAt          DateTime  @default(now())
  updatedAt          DateTime  @updatedAt
  expiresAt          DateTime?

createdAt 列转换为

createdAt | timestamp(3) without time zone | | not null | CURRENT_TIMESTAMP

因为我打算真正使用时间戳 - 我需要它们是 timestamp with time zone

如何使用 Prisma 实现这一目标?

Edit NOW() > '2021-02-16':Prisma 现在拥有“原生类型”

https://github.com/prisma/prisma/releases/tag/2.17.0 https://www.prisma.io/docs/reference/api-reference/prisma-schema-reference#postgresql-6

【问题讨论】:

【参考方案1】:

目前不支持 timestamptz 字段,因为 Prisma 会自动将您发送的时间戳转换为 UTC。该支持将通过this 请求在更多版本的 Prisma 中提供。

作为一种解决方法,您需要将时间戳转换为特定的所需时区,因为 Prisma 会将其以 UTC 格式保存在数据库中。

【讨论】:

谢谢。我想你的意思是链接这个? github.com/prisma/prisma/issues/3447 ?无论如何 - 这有帮助! 是的,这是主要要求。

以上是关于Prisma 中带有时区列的时间戳的主要内容,如果未能解决你的问题,请参考以下文章

更改熊猫中日期时间列的时区并添加为分层索引

将UTC时间戳转换为熊猫中的本地时区问题

将时间戳转换为特定时区然后在 bigquery 中将其转换为日期时出现问题

PostgreSQL 错误地从没有时区的时间戳转换为有时区的时间戳

JQuery数据表中带有时间戳排序问题的日期

Rails 和 Postgres:迁移到 change_colomn 时出现错误“无法强制转换为没有时区的时间戳”