我有一个使用node.js和sequelize(版本4.28)开发的节点应用程序。最近,我做了一个“ npm audit fix”命令,并将其续集升级到了6.0.0版。现在我的应用程序中断了,因为显然Model.build方法已被删除或重命名(即使它仍出现在官方文档中)。
我这样定义我的模型:
module.exports =(sequelize,DataTypes) =>
{
return sequelize.define('CardType',{
TypeID: {type: DataTypes.BIGINT, allowNull:false,primaryKey:true, autoIncrement:true},
description: {type: DataTypes.STRING(75), unique:true}
});
}
然后我将它们导入到我的应用中,如下所示:
const sqlCon = new Sequelize(keys.dbName,keys.dbUser, keys.dbPassword,
{dialect:'postgresql',
host:keys.dbHost,
pool:20,
logging:false
});
const CardType =sqlCon.import('../models/CardType');
这一切正常,当我尝试创建这样的新模型时,问题就开始了:
var cardType1 = CardType.build({description:'My Type Card'});
await cardType1.save();
此操作失败,并显示以下错误消息:
TypeError: CardType.build is not a function
有人可以告诉我解决该问题需要做什么吗?我可以降级到squelize 4,但是我想使用最新版本以防止代码中的安全性问题。预先感谢您的帮助!