Как я могу увидеть SQL, созданный Sequelize.Джей?


Я хочу видеть команды SQL, которые отправляются на сервер PostgreSQL, потому что мне нужно проверить, правильны ли они. В частности, меня интересуют команды создания таблиц.

например, ActiveRecord (Ruby) выводит свои инструкции SQL на стандартный вывод. Возможно ли это с узлом.js / ActionHero.js и Sequelize.JS как хорошо?

3 55

3 ответа:

вы можете передать параметр ведения журнала при инициализации sequelize, который может быть либо функцией, либо консолью.журнал

var sequelize = new Sequelize('database', 'username', 'password', {
    logging: console.log
    logging: function (str) {
        // do your own logging
    }
});

вы также можете передать функцию ведения журнала .синхронизация если вы хотите только просмотреть запросы на создание таблицы

sequelize.sync({ logging: console.log })

Если вы хотите посмотреть на sequelize для одной команды, вы можете прослушать ее и прикрепить функцию к печати sql.

проверить этот пример:

User.find(1).on('sql', console.log).then(function(user) {
  // do whatever you want with the user here

Как указано в журнале Error: Please note that find* was refactored and uses only one options object from now on.. Для последней версии sequelize (4) Если вы хотите получить результат только для одной команды:

User.findAll({where: {...}, logging: console.log})