首页 > 解决方案 > TypeORM 未创建预期的外键

问题描述

我正在使用 MySQL DB 设置 TypeORM - 这里有 2 个肯定应该引入外键的表:

@Entity('Area')
export class Area {
  @PrimaryGeneratedColumn('uuid')
  Id: string;

  @Column({
    unique: true,
  })
  Name: string;

  @CreateDateColumn()
  CreatedAt: Date;

  @UpdateDateColumn()
  UpdatedAt: Date;

  @OneToMany(() => Subarea, (Subarea) => Subarea.Area)
  Subareas: Subarea[];
}

@Entity('Subarea')
export class Subarea {
  @PrimaryGeneratedColumn('uuid')
  Id: string;

  @Column()
  Name: string;

  @CreateDateColumn()
  CreatedAt: Date;

  @UpdateDateColumn()
  UpdatedAt: Date;

  @ManyToOne(() => Area, (Area) => Area.Subareas) 
  @JoinColumn({ name: 'AreaId', referencedColumnName: 'Id' })
  Area: Area;
}

然而我得到了 2 个完全独立的、不相关的表?

标签: nestjstypeorm

解决方案


其中一位开发人员帮助我确认这是当前版本中的错误,但已在 master 中修复:https ://github.com/typeorm/typeorm/pull/8038


推荐阅读