我有一个使用 TypeORM 和 PostgreSQL 数据库的 Typescript Nestjs 项目,我在定义多对一关系时遇到了麻烦,因为 TypeORM 试图创建一个整数类型的 ID 字段,而我使用的是 UUID 字段。有没有办法告诉 TypeORM 使用与整数不同的数据类型?
下面是一个不工作的实体的例子:
export class AgentKitsEntity implements Model {
@PrimaryGeneratedColumn()
@Generated('uuid')
id: string;
}
@Entity({name: 'users'})
export class User extends AgentKitsEntity implements UserModel {
@Column()
username: string;
@ManyToOne(type => View)
@JoinColumn({name: 'view_id', referencedColumnName: 'id'})
view: View;
}
Run Code Online (Sandbox Code Playgroud)
这会导致以下错误:
query failed: ALTER TABLE "users" ADD CONSTRAINT "FK_2ed8b186dce83a446f94ac9aae4" FOREIGN KEY ("view_id") REFERENCES "views"("id")
error: { error: foreign key constraint "FK_2ed8b186dce83a446f94ac9aae4" cannot be implemented
at Connection.parseE (/home/jonathan/projects/agent-kits/api-data/node_modules/pg/lib/connection.js:554:11)
at Connection.parseMessage …Run Code Online (Sandbox Code Playgroud)