在 SequelizeJs 中定义表时,其名称在执行时会更改,从而导致 ER_NO_SUCH_TABLE。
这是我的代码:
var API_TOKEN=database.sequelize.define('API_TOKENS',{
user_id:{
type:Sequelize.INTEGER,
},
token:{
type:Sequelize.STRING
}
});
和错误:
未处理的拒绝 SequelizeDatabaseError: ER_NO_SUCH_TABLE: 表 'tableName.API_TOKENs' 不存在
注意:注意执行时表名是如何更改的,我使用的是 mysql 数据库。
最佳答案
您可以使用可以放在 options
方法的 sequelize.define
中的两个可用选项之一
freezeTableName
tableName
根据 sequelize 文档(关于它如何根据模型定义命名数据库表)
通过使用
freezeTableName
,数据库表的名称将与您的模型名称完全相同。另一方面,如果你想要完全自定义的表名,你应该使用 tableName
属性。关于mysql - 在 SequelizeJs 中定义表时,它的名称在执行时更改,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42331656/