2017-02-19 42 views
0

时限定SequelizeJs表时它的名称被改变。限定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数据库。

回答

1

可以使用的,可以放在optionssequelize.define的方法

  • freezeTableName
  • tableName

按照sequelize文档两个可用选项之一(关于如何命名基于模型定义的数据库表)

By default, sequelize will automatically transform all passed model names (first parameter of define) into plural.

通过使用freezeTableName,数据库表将被命名为完全一样的型号名称。另一方面,如果您想要完全自定义表名称,则应使用tableName属性。