错误:列"userId"不存在 对多关系



我试图用Sequelize在Postgres中创建用户和模板之间的多对多关系。但当我试图创建一个用户时,我会出现以下错误,无法找到问题所在

Executing (default): INSERT INTO "users" ("id","createdAt","updatedAt") VALUES (DEFAULT,$1,$2) RETURNING "id","userId","templateId","createdAt","updatedAt"
error: column "userId" does not exist

用户模型

"use strict";
module.exports = (sequelize, DataTypes) => {
const user = sequelize.define(
"user",
{
name: DataTypes.STRING,
email: DataTypes.STRING,
phone: DataTypes.STRING,
password: DataTypes.STRING
},
{}
);
user.associate = function(models) {
user.belongsToMany(models.template, {through: 'User_Templates'})
};
return user;
};

模板模型

"use strict";
module.exports = (sequelize, DataTypes) => {
const template = sequelize.define(
"template",
{
name: DataTypes.STRING,
html: DataTypes.STRING
},
{}
);
template.associate = function(models) {
template.belongsToMany(models.user, {through: 'User_Templates'})
};
return template;
};

用户模板模型(连接表(

"use strict";
module.exports = (sequelize, DataTypes) => {
const User_Template = sequelize.define(
"user",
{
userId: DataTypes.INTEGER,
templateId: DataTypes.INTEGER
},
{}
);
User_Template.associate = function(models) {
User_Template.belongsTo(models.user, {
foreignKey: 'userId',
as: 'user'
})
User_Template.belongsTo(models.template, {
foreignKey: 'templateId',
as: 'template'
})
};
return User_Template;
};

您在西方重新定义了User模型,为User_Template模型指定了相同的名称user

const User_Template = sequelize.define(
"user",

只需将其更改为User_Templates:

const User_Template = sequelize.define(
"User_Templates",

最新更新