gpt4 book ai didi

javascript - Sequelize 和 Typescript 的外键

转载 作者:行者123 更新时间:2023-12-03 22:16:22 27 4
gpt4 key购买 nike

鉴于这 2 个 Sequelize 模型:

export class Users extends Model<Users> {

@HasMany(() => UserRoles)
@Column({ primaryKey: true, allowNull: false, unique: true })
UserId: string;

@Column({ allowNull: false, unique: true })
Email: string;
}

export class UserRoles extends Model<UserRoles> {

@ForeignKey(() => Users)
@Column({ primaryKey: true, allowNull: false, unique: true })
UserId: string;

@Column({ allowNull: false })
RoleId: number;
}

当我创建一个用户时,我还会在 UserRoles 中创建一行,其中 UserId 是外键,因此总是一对一匹配。

当我尝试运行它时,我得到:

错误:模型用户的属性“UserId”和关联“UserId”之间存在命名冲突。要解决此问题,请更改 foreignKey 或在您的关联定义中

我想这意味着这 2 个表具有相同的列名 UserId 并且这是导致问题的原因?如果是这样,我该如何解决?给它某种别名?或者如何?

最佳答案

如果你想要一个一对一的模型,即一个用户只能被分配一个 Angular 色,反之亦然然后为主键和外键约束使用相同的字段,否则使用不同的字段

关于javascript - Sequelize 和 Typescript 的外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47731612/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com