我有一个描述为
的实体export class TeamEntity {
@PrimaryGeneratedColumn('uuid')
readonly id: string;
@CreateDateColumn()
readonly createdAt: Date;
@UpdateDateColumn()
updatedAt: Date;
@Column({ unique: true })
@Unique('Duplicate name', ['name'])
name: string;
}
当第一次尝试将记录添加到数据库时,将按预期插入记录。当尝试再次插入同一记录时,将不满足唯一约束,并且不会按预期插入记录。
问题是,当不满足此约束条件时,整个应用程序将崩溃,我必须重新启动应用程序才能使其重新联机。
此规则的一个奇怪的例外是,当执行路径中任何地方出现console.log()
时,应用程序都不会崩溃,并且抛出正确的错误消息,并且应用程序继续运行。
存在console.log()
时应用程序不会崩溃的原因吗?如果是这样,删除该行后如何停止应用程序崩溃?
答案 0 :(得分:0)
您可以使用Insert ignore
解决此问题
await getManager()
.createQueryBuilder()
.insert()
.orIgnore(true)
.into(TeamEntity)
.values({name: 'John'})
.execute();