【发布时间】:2020-02-27 22:19:40
【问题描述】:
我想将module 引用到queue。所以一个queue 可以有多个modules。因此,我只想将module 的id 存储在queue 中。
根据 Typeorm 的文档,我应该以这种方式实现这种关系:
@ManyToOne(type => Module)
@JoinColumn({ name: "currentModuleId" })
module: Module;
我只想提供module 的id,而不是模块对象。所以我想出了这个解决方案:
模块实体
@Entity()
export class Module extends BaseEntity {
@PrimaryColumn({ unique: true })
public id: string;
}
队列实体
@Entity()
export class Queue extends BaseEntity {
@PrimaryGeneratedColumn('uuid')
public id: string;
@OneToOne(() => Module)
@JoinColumn({ name: 'currentModuleId' })
currentModuleId: string;
}
这可行,但我不太确定这是一个防错解决方案。我应该如何为queue 实现外键?
另外:Typeorm 怎么知道currentModuleId 应该在哪一列引用?
【问题讨论】:
标签: postgresql foreign-keys nestjs typeorm