具有Sequelize和Typescript的外键

鉴于这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; } 

当我创build一个用户的时候,我也会在UserRoles创build一个用户UserId作为外键的行,所以总是有一对一的匹配。

当我尝试运行这个时,我得到:

Error: Naming collision between attribute 'UserId' and association 'UserId' on model Users. To remedy this, change either foreignKey or as in your association definition

我想这意味着这两个表具有相同的列名UserId ,这是导致问题? 如果是的话,我该如何解决? 给它一些别名? 或者如何?