未处理的拒绝SequelizeDatabaseError

我正在使用Sequelize,我试图插入一行到我的用户列。 但是,我不断收到以下错误:

Unhandled rejection SequelizeDatabaseError: Invalid object name 'User'. 

我正在连接到MSSQL服务器。 我知道我有正确的基本连接,因为我可以通过sequelize.query运行sequelize的普通查询而没有问题。 我的怀疑是我没有正确地指定架构或数据库。

我的模特定义:

 var user = sequelize.define("User", { ID: { type: Sequelize.INTEGER, unique: true, autoIncrement: true }, FirstName: { type: Sequelize.STRING }, LastName: { type: Sequelize.STRING }, CreateDate: { type: Sequelize.DATE }, UpdateDate: { type: Sequelize.DATE } },{ tableName: 'User', timestamps: false, freezeTableName: true }); 

我尝试使用模型来创build/ INSERT行到我的预先存在的数据库。

 User.schema('Core'); User.create({ ID: '1', FirstName: 'Bobert', LastName: 'Jones'}).then(function(user) { console.log(user.get({ plain: true })) }); 

当我使用Sequelize的普通SQL来完成这个工作时,我必须包含架构aka“insert into Core.User”。 我没有正确地指定模式? 我试图通过在dialectOptions之前添加“schema:'Core'”将它添加到我的初始连接定义中。

你可以在你的sequelize构造函数中指定schema:

 var sequelize = new Sequelize("db", "user", "pass", { host: "localhost", port: "1206", dialect: "mssql", define: { schema: "core" } }); 

但是,根据他们的代码 ,你在做什么似乎是正确的。 在sequelize构造函数中,你也可以打开日志logging(日志logging:true)。 logging应输出正在构build的确切的SQL。