防止 sequelize 默认在belongsTo 关联上生成外键

时间:2021-02-05 23:15:23

标签: sequelize.js sequelize-typescript

我有一个自引用关系(不重要)

export default class Person{
  @PrimaryKey
  @Column
  public id!: number;

  @BelongsTo(() => Person, "parent_id")
  parent!: Person;

  @HasMany(() => Person, "parent_id")
  children!: Person;

}

当我同步时,sequelize 自动创建外键关系

我不想这样做,因为数据不完整,而且有些人的父母可能不在数据库中。 我如何防止续集默认生成

<块引用>

默认情况下,将生成belongsTo 关系的外键 来自目标模型名称和目标主键名称。

1 个答案:

答案 0 :(得分:0)

只是一个想法。 实施:

@HasMany(() => Person, "parent_id")
  children!: Person;

不是使用 sequelize-typescript,而是使用核心 https://sequelize.org/master/manual/typescript.html 可以完成这项工作。只是不要在模型中实现外键,而只是为打字稿编译器实现。

使用约束:false,将阻止外键创建。 不知道能不能在sequelize-typescript包中实现