2017-02-19 48 views
0

при определении таблицы в SequelizeJs его имя изменяется при выполнении, в результате чего получается ER_NO_SUCH_TABLE.при определении таблицы в SequelizeJs его имя изменяется при выполнении

Это мой код:

var API_TOKEN=database.sequelize.define('API_TOKENS',{ 
    user_id:{ 
     type:Sequelize.INTEGER, 
    }, 
    token:{ 
     type:Sequelize.STRING 
    } 
}); 

и ошибка:

Unhandled отвержение SequelizeDatabaseError: ER_NO_SUCH_TABLE: Таблица 'tableName.API_TOKENs' не существует

Примечание: обратите внимание, как таблица имя изменяется при выполнении, я использую базу данных mysql.

ответ

1

Вы можете использовать один из двух доступных вариантов, которые могут быть поставлены в options из sequelize.define метода

  • freezeTableName
  • tableName

Согласно документации sequelize (о том, как он называет таблица базы данных на основе определения модели)

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

Используя таблицу freezeTableName, таблица базы данных будет называться точно так же, как имя вашей модели. С другой стороны, если вы хотите получить полностью собственное имя таблицы, вы должны использовать атрибут tableName.