gpt4 book ai didi

javascript - Node.js Sequelize 模型文件不考虑配置

转载 作者:太空宇宙 更新时间:2023-11-04 02:01:42 35 4
gpt4 key购买 nike

我的模型文件如下所示:

'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:表“sc.users”不存在。确实,数据库users不存在,其名称为user。我在我的模型中添加了有关它的信息(tableName: 'user')。

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

最佳答案

就我个人而言,我从未使用过表名覆盖,但据我从 documentation 中看到和测试herehere ,您还需要将 freezeTableName 设置为 true 才能使用您为模型指定的表名称,因此现在您的模型将如下所示:

'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'
})
}
}
}, {
freezeTableName: true,
tableName: 'user',
timestamps: false,
underscored: true
})
return User
}

关于javascript - Node.js Sequelize 模型文件不考虑配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45738338/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com