首页 > 解决方案 > TypeORM 更新特定列时,保存不影响UpdateDateColumn

问题描述

我想在更新视图列时保存而不影响 UpdateDateColumn。

这个表是一个帖子表,视图很受欢迎。


UpdateDateColumn 是在添加视图列数时更新的。
我不希望视图列影响 UpdateDateColumn。
@Entity("post")
export default class Post extends BaseEntity {
  @PrimaryGeneratedColumn()
  idx: number;

  // Skip
  
  @Column({
    nullable: false,
    default: 0
  })
  view: number;

  @Column("timestampz")
  @CreateDateColumn()
  created_at: Date;

  @Column("timestampz")
  @UpdateDateColumn()
  updated_at: Date;
}

请给我一个解决方案。

标签: typeorm

解决方案


不是一个完美的解决方案,但仍然是一个解决方案......

您可以使用它具有的值强制更新您的日期列:

getRepository(Post).update(postId, {
  view: newViewValue,
  updated_at: () => '"updated_at"'
})

SQL 查询将如下所示:

UPDATE "post" SET "view" = $2, "updated_at" = "updated_at" WHERE "idx" = $1

推荐阅读