Typescript TypeForm错误:列中的空值与非空值冲突:允许空值​;在fk中

Typescript TypeForm错误:列中的空值与非空值冲突:允许空值​;在fk中,typescript,typeorm,Typescript,Typeorm,您好,我有两个实体—员工和部门,其中一个部门有0个或1个经理 我尝试添加一个没有经理的部门,但出现以下错误: 错误:错误:“manager\u id”列中的null值与not null冲突 约束 我试着增加一个部门,只有名字,但没有经理 我如何允许空值​​在fk中 实体员工: @Entity({ name: 'employees' }) export class Employee extends SharedProp { constructor(firstName: string, last

您好,我有两个实体—员工和部门,其中一个部门有0个或1个经理 我尝试添加一个没有经理的部门,但出现以下错误:

错误:错误:“manager\u id”列中的null值与not null冲突 约束

我试着增加一个部门,只有名字,但没有经理 我如何允许空值​​在fk中

实体员工:

@Entity({ name: 'employees' })
export class Employee extends SharedProp {
  constructor(firstName: string, lastName: string) {
    super();
    this.firstName = firstName;
    this.lastName = lastName;
  }
  @PrimaryGeneratedColumn('uuid')
  id: string;

  @Column({ name: 'matricula', nullable: false })
  matricula: string;

  @Column({ name: 'first_name', nullable: false })
  firstName: string;

  @Column({ name: 'last_name', nullable: false })
  lastName: string;

  @Column()
  user_id: string;

  @Column()
  departament_id: string;

  @OneToOne(() => Departament, departament => departament.manager)
  @ManyToOne(
    () => Departament,
    (departament: Departament) => departament.employees,
  )
  @JoinColumn({ name: 'departament_id' })
  departament: Departament;

  @OneToOne(() => User)
  @JoinColumn({ name: 'user_id' })
  user: User;
}
实体部门:

@Entity({ name: 'departaments' })
export class Departament {
  @PrimaryGeneratedColumn('uuid')
  id: string;

  @Column()
  departament_name: string;

  @Column()
  manager_id: string;

  @OneToOne(() => Employee, employee => employee.departament)
  @JoinColumn({ name: 'manager_id' })
  manager: Employee;

  @OneToMany(() => Employee, (employee: Employee) => employee.departament)
  employees: Array<Employee>;

  @CreateDateColumn({ name: 'created_at' })
  createdAt: Date;

  @UpdateDateColumn({ name: 'updated_at' })
  UpdatedAt: Date;
}
@实体({name:'departments})
出口级部门{
@PrimaryGeneratedColumn('uuid')
id:字符串;
@第()列
部门名称:字符串;
@第()列
manager_id:string;
@OneToOne(()=>员工,员工=>员工部门)
@JoinColumn({name:'manager_id'})
经理:员工;
@OneToMany(()=>员工,(员工:员工)=>员工部门)
员工:阵列;
@CreateDateColumn({name:'created_at'})
createdAt:日期;
@UpdateDateColumn({name:'updated_at'})
更新日期:日期;
}

为可能为null的列添加
null:true
。 例如:

此错误来自您的数据库。所以在那之后一定要更新迁移。 还可以尝试将默认值设置为null,如下所示:

@Column({nullable: true, default: null })
user_id: string;

请在发生错误的地方添加一些
typescript
代码。
@Column({nullable: true, default: null })
user_id: string;