我遇到了一个奇怪的问题,我无法在两个实体之间创建一个FK关系。
// organization.entity.ts
@PrimaryGeneratedColumn('uuid')
id: string;
...
@OneToMany(() => User, (user) => user.organization)
users: User[];
// user.entity.ts
@PrimaryGeneratedColumn('uuid')
id: string;
@Column({
type: 'uuid',
})
organizationId: string;
...
@ManyToOne(() => Organization, (organization) => organization.users)
organization: Organization;
在我的ormconfig.json
文件中,我有以下设置(在连接文件中)
...
"logging": true,
"entities": [
"dist/**/*.entity{.ts,.js}"
],
"synchronize": true
...
我在我的"typeorm": "^0.2.45"
文件中使用package.json
。
键列"organizationId“和"id”是不兼容的类型:字符变化和uuid。
如何在用户和组织之间建立FK关系?
发布于 2022-04-23 09:30:15
因此,从您的问题中,我理解您希望在您的用户表中有一个"organizationId“字段,它将是一个FK。
要在组织和用户之间创建OnetoMany关系,请执行以下操作:
// organization.entity.ts
@Entity({ name: 'organizations' })
export class Organization {
@PrimaryGeneratedColumn('uuid')
id: string;
...
@OneToMany(() => User, (user) => user.organization)
users: User[];
}
// user.entity.ts
@Entity({ name: 'users' })
export class User {
@PrimaryGeneratedColumn('uuid')
id: string;
@Column({ type: 'uuid' })
organizationId: string;
...
@ManyToOne(() => Organization, (organization) => organization.users)
@JoinColumn({ name: 'organizationId' })
organization: Organization;
}
https://stackoverflow.com/questions/71976449
复制相似问题