我遇到了一個奇怪的問題,我無法在兩個物體之間創建 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 關系?
uj5u.com熱心網友回復:
因此,根據您的問題,我了解到您想要用戶表中的“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://www.uj5u.com/net/463036.html
標籤:PostgreSQL 巢穴 打字机
