【发布时间】:2021-11-23 02:24:03
【问题描述】:
我有一个带有 typeORM 和 postgresl 数据库的 NestJs 项目。我希望将具有 id 的实体作为生成的 uuid。当我保存时,似乎没有生成 uuid,并且实体以空 id 保存。
我的实体文件:
import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
import { JobStatusEnum } from './jobStatus.enum';
@Entity()
export class Job {
@PrimaryGeneratedColumn('uuid')
id: string;
@Column()
name: string;
...
}
我的服务:
import { Injectable } from '@nestjs/common';
import { Job } from '../model/job.entity';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm';
@Injectable()
export class JobService {
constructor(@InjectRepository(Job) private jobRepository: Repository<Job>) {}
create(): Promise<Job> {
const job: Job = {
id: null,
name: 'Job Name',
...
};
return this.jobRepository.save(job);
}
...
}
我得到的错误信息:
UnhandledPromiseRejectionWarning: QueryFailedError: null value in column "id" of relation "job" violates not-null constraint
【问题讨论】:
-
检查
job表中的id列是否有默认值?
标签: node.js postgresql nestjs typeorm