且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

sequelize - 无法添加外键约束

更新时间:2023-02-02 23:28:44

这是常见的类型错误,主要是因为

This is common type error mainly occurs because of

return sequelize.define('RefreshToken', {
    userId: {
      type: DataTypes.INTEGER(11), // The data type defined here and 
      references: {
        model: 'Users',
        key: 'idUsers'
      }
    }, 


return sequelize.define('Users', {
    idUsers: {
      type: DataTypes.INTEGER(11),  // This data type should be the same
    },

2.当引用的键不是主键或唯一键时.

你不能有两个主键,所以其他引用的键应该定义为唯一的.unique:true

 return sequelize.define('Users', {
    idUsers: {
      primaryKey: true  
    },
    mail: {
      type: DataTypes.STRING(45),
      allowNull: false,
      primaryKey: true   // You should change this to 'unique:true'. you cant hv two primary keys in one table. 
    }