我的模型文件如下所示:
'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可以从中读取配置?
答案 0 :(得分:0)
就个人而言,我从未使用过表名覆盖,但据我所见documentation和测试here和here,您还需要设置{{1}为了使用您为模型提供的表名,{}为freezeTableName
,所以现在您的模型看起来像:
true