升级到sequelizejs 6后,model.build()停止工作

时间:2019-09-08 21:51:10

标签: node.js sequelize.js

我有一个使用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,但是我想使用最新版本以防止代码中的安全性问题。预先感谢您的帮助!

0 个答案:

没有答案