首页 > 解决方案 > 如何在 TypeOrm 中为 postgresql 指定约束名称

问题描述

我想遵循主键和外键名称的 SQL 命名标准。一种这样的方法是在 SQL 中的命名约定中。对于主键,名称应采用 PK_ 格式。PrimaryGeneratedColumn 装饰器应该允许您输入名称。对于外键,名称应采用 FK__ 格式。这可能在关系装饰器中。

我看不出如何实现这一目标。

目前约束名称没有任何语义含义 - FK_f38670e509f911de73d91cab5bb

您能否让我知道是否有其他方法可以实现这一目标?

非常感谢

标签: typeormnode.js-typeorm

解决方案


您可以使用 @Unique() 约束,如下所示:

@Entity()
@Unique('UNIQUE_EMAIL_ADDRESS', ['address'])
export class Email {
  @PrimaryGeneratedColumn('uuid')
  id: string;

  @Column({ type: 'varchar', length: 64 })
  address: string;
}

推荐阅读