par*_*oid 5 node.js typeorm node.js-typeorm
我有这样的task实体:
import {BaseEntity, Column, Entity, PrimaryGeneratedColumn} from "typeorm";
@Entity()
export class Task extends BaseEntity{
@PrimaryGeneratedColumn()
id:number;
@Column()
title:string
@Column()
description:string
}
Run Code Online (Sandbox Code Playgroud)
我想向这个实体添加 created_at 和 updated_at 字段,并使用Node.js类似的Laravel框架自动填充它。我的数据库是postgres
Ahm*_*ifi 15
import { CreateDateColumn, UpdateDateColumn } from 'typeorm';
@CreateDateColumn()
createdAt: Date;
@UpdateDateColumn()
updatedAt: Date;
Run Code Online (Sandbox Code Playgroud)
我们先导入
import { CreateDateColumn,UpdateDateColumn } from "typeorm";
Run Code Online (Sandbox Code Playgroud)
在实体中添加此字段和 decarators
@CreateDateColumn({ type: "timestamp", default: () => "CURRENT_TIMESTAMP(6)" })
public created_at: Date;
@UpdateDateColumn({ type: "timestamp", default: () => "CURRENT_TIMESTAMP(6)", onUpdate: "CURRENT_TIMESTAMP(6)" })
public updated_at: Date;
Run Code Online (Sandbox Code Playgroud)
小智 7
import {BaseEntity, Column, Entity, PrimaryGeneratedColumn, CreateDateColumn} from "typeorm";
@Entity()
export class Task extends BaseEntity{
@PrimaryGeneratedColumn()
id:number;
@Column()
title:string
@Column()
description:string
@CreateDateColumn()
created_at: Date;
@UpdateDateColumn()
updated_at: Date;
}
Run Code Online (Sandbox Code Playgroud)
小智 7
我尝试了您之前提到的所有方法,但唯一有效的方法就是这个。
import moment from "moment";
@CreateDateColumn()
created_at: Date;
@UpdateDateColumn()
updated_at: Date;
@BeforeInsert()
insertCreated() {
this.created_at = new Date(
moment().tz("America/Sao_Paulo").format("YYYY-MM-DD HH:mm:ss")
);
this.updated_at = new Date(
moment().tz("America/Sao_Paulo").format("YYYY-MM-DD HH:mm:ss")
);
}
@BeforeUpdate()
insertUpdated() {
this.updated_at = new Date(
moment().tz("America/Sao_Paulo").format("YYYY-MM-DD HH:mm:ss")
);
}Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6244 次 |
| 最近记录: |