Min*_*ing 9 typescript typeorm
您好,我有两个实体员工和部门,其中一个部门有 0 或 1 个经理\n我尝试添加一个没有经理的部门,但收到此错误:
\n\n\n错误:错误:列“manager_id”中的空值违反了非空\n约束
\n
我尝试添加一个只有名称但没有经理的部门\n我如何允许空值 \xe2\x80\x8b\xe2\x80\x8bin a fk
\n实体员工:
\n@Entity({ name: 'employees' })\nexport class Employee extends SharedProp {\n constructor(firstName: string, lastName: string) {\n super();\n this.firstName = firstName;\n this.lastName = lastName;\n }\n @PrimaryGeneratedColumn('uuid')\n id: string;\n\n @Column({ name: 'matricula', nullable: false })\n matricula: string;\n\n @Column({ name: 'first_name', nullable: false })\n firstName: string;\n\n @Column({ name: 'last_name', nullable: false })\n lastName: string;\n\n @Column()\n user_id: string;\n\n @Column()\n departament_id: string;\n\n @OneToOne(() => Departament, departament => departament.manager)\n @ManyToOne(\n () => Departament,\n (departament: Departament) => departament.employees,\n )\n @JoinColumn({ name: 'departament_id' })\n departament: Departament;\n\n @OneToOne(() => User)\n @JoinColumn({ name: 'user_id' })\n user: User;\n}\nRun Code Online (Sandbox Code Playgroud)\n实体部门:
\n@Entity({ name: 'departaments' })\nexport class Departament {\n @PrimaryGeneratedColumn('uuid')\n id: string;\n\n @Column()\n departament_name: string;\n\n @Column()\n manager_id: string;\n\n @OneToOne(() => Employee, employee => employee.departament)\n @JoinColumn({ name: 'manager_id' })\n manager: Employee;\n\n @OneToMany(() => Employee, (employee: Employee) => employee.departament)\n employees: Array<Employee>;\n\n @CreateDateColumn({ name: 'created_at' })\n createdAt: Date;\n\n @UpdateDateColumn({ name: 'updated_at' })\n UpdatedAt: Date;\n}\nRun Code Online (Sandbox Code Playgroud)\n
小智 -6
添加nullable: true可能为 null 的列。例子:
@Column({nullable: true })
user_id: string;
Run Code Online (Sandbox Code Playgroud)
此错误来自您的数据库。所以之后要更新迁移。还尝试将默认值设置为 null,如下所示:
@Column({nullable: true, default: null })
user_id: string;
Run Code Online (Sandbox Code Playgroud)
最后使用迁移将数据库中的表字段修改为可为空
| 归档时间: |
|
| 查看次数: |
11050 次 |
| 最近记录: |