Node.js sequelize模型文件不考虑配置

时间:2017-08-17 14:47:31

标签: javascript node.js orm sequelize.js sequelize-cli

我的模型文件如下所示:

'use strict'

module.exports = function (sequelize, DataTypes) {
  let User = sequelize.define('user', {
    id: {
      type: DataTypes.INTEGER(11),
      allowNull: false,
      primaryKey: true,
      autoIncrement: true
    }
  }, {
    classMethods: {
      associate: function(models) {
        this.belongsToMany(models.role, {
          through: {
            model: 'user_role'
          },
          foreignKey: 'user_id'
        })
      }
    }
  }, {
    tableName: 'user',
    timestamps: false,
    underscored: true
  }
)
return User
}

当我尝试对此模型进行任何查询时,我收到错误SequelizeDatabaseError: Table 'sc.users' doesn't exist。确实,数据库users不存在,其名称为user。我在我的模型中添加了有关它的信息(tableName: 'user')。

我不明白为什么续集不读我的配置选项。 我应该如何准备我的模型文件以便sqeuelize可以从中读取配置?

1 个答案:

答案 0 :(得分:0)

就个人而言,我从未使用过表名覆盖,但据我所见documentation和测试herehere,您还需要设置{{1}为了使用您为模型提供的表名,{}为freezeTableName,所以现在您的模型看起来像:

true