Ang*_*nez 11 javascript postgresql typescript nestjs
在 PostgreSQL 和 TypeORM 中拥有日期字段的最佳方式是什么?
我在 PostgreSQL(一般 SQL 数据库)中相对较新,但在 MongoDB(使用 Mongoose)中我通常有一个这样的字段:
export class User {
@Prop({ default: Date.now() })
createdAt: Date;
}
Run Code Online (Sandbox Code Playgroud)
在 TypeORM 和 PostgreSQL 中与此等效的是什么?因为,如果我使用这种方法,PostgreSQL 会抛出错误。
QueryFailedError:日期/时间字段值超出范围:“1634416004545”
Geo*_*sov 17
我知道这是一个旧问题,但这是我今天偶然发现的,并且没有得到批准的答案,所以我认为它将来可能会对像我这样的人有所帮助。
基本上,问题来自于使用Date.now()
而不是new Date()
. 我的工作示例如下所示
@Column({ type: "timestamptz", default: () => "CURRENT_TIMESTAMP" })
createdDate: Date;
Run Code Online (Sandbox Code Playgroud)
如果未提供该值,它将分配当前值。这里请注意,如果更新一行并且新值缺少该createdDate
字段,则旧值将被覆盖。
然后如果你想手动设置它,你只需new Date()
像这样使用
const created = { ..., createdDate: new Date(), ...}
Run Code Online (Sandbox Code Playgroud)
小智 14
您可以使用@CreateDateColumn
装饰器来实现您想要的:
export class User {
@CreateDateColumn()
createdAt: Date;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
24456 次 |
最近记录: |