未处理的拒绝 SequelizeDatabaseError

Unhandled Rejection 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
});

我尝试使用该模型 create/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 构造函数中指定模式:

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

但是,根据他们code,您所做的似乎是正确的。在 sequelize 构造函数中,您还可以打开日志记录 (logging: true)。日志记录应该输出正在构建的确切 sql。