如何在Sequelize中自定义模型对应的数据库表名?
解决方案
Sequelize 默认会将模型名称转为复数形式作为表名,这就是为什么你的模型r_hasStatus生成了r_hasStatuses表。要指定自定义表名,只需在sequelize.define方法中添加第三个配置参数,显式设置tableName属性即可。
修改后的完整模型代码如下:
module.exports = (sequelize, Sequelize) => { const r_hasStatus = sequelize.define("r_hasStatus", { comment : { type: Sequelize.STRING, allowNull: true, field: 'comment' }, }, { tableName: 'r_hasStatus' // 显式指定目标表名 }); r_hasStatus.associate = function (models) { // 关联逻辑保持原有写法即可 }; return r_hasStatus; };
重新同步数据库后,生成的表名就会是你需要的r_hasStatus,而非默认的复数形式。
内容的提问来源于stack exchange,提问作者Jose Cabrera Zuniga
相关产品推荐
相关产品推荐

