首页 > 解决方案 > typeorm:如何将一列的默认值设置为依赖于 id 列?

问题描述

我是 js / 前端开发的新手,我刚开始使用打字稿。我使用打字稿定义了一个Entity数据库表(Postgres):

import striptags from 'striptags';
import {
  BaseEntity,
  Entity,
  Column,
  PrimaryGeneratedColumn,
  CreateDateColumn,
  UpdateDateColumn,
  JoinTable,
  RelationId,
  BeforeUpdate,
  BeforeInsert,
} from 'typeorm';

import is from 'utils/validation';

@Entity()
class Issue extends BaseEntity {
  static validations = {
    allowedTime: [is.required()],
  };

  @PrimaryGeneratedColumn()
  id: number;

  @Column('varchar')
  title: string;

  @Column('varchar')
  status: string | null;

  @Column('integer', { nullable: true })
  estimate: number | null;

  @CreateDateColumn({ type: 'timestamp' })
  createdAt: Date;

  @UpdateDateColumn({ type: 'timestamp' })
  updatedAt: Date;

  @Column('integer', { nullable: false })
  allowedTime: number | null;

  @Column({ type: 'timestamp' })
  deadline: string | null;

}

export default Issue;

创建新行时,我想实现两件事:

  1. 可以是空的title,在这种情况下,title应该赋予 的值"Task " + string(id) ,其中id是自动增加的 id 列。

  2. allowedTime必须以整数形式提供,它表示完成一项任务所允许的小时数。因此,deadline应该给出 的值createdAt + allowedTime并将其转换为某种日期时间格式。

我想知道打字稿中是否有任何技巧可以实现这里的目标,或者是否有人可以给出一些指示?

标签: typescriptpostgresqltypeorm

解决方案


推荐阅读