Подтвердить что ты не робот

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

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

Например, ActiveRecord (Ruby) выводит свои SQL-запросы на стандартный вывод. Возможно ли это с помощью Node.js/ActionHero.js и Sequelize.js?

4b9b3361

Ответ 1

Вы можете передать параметр регистрации при инициализации sequelize, который может быть либо функцией, либо console.log

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

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

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

Ответ 2

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

Посмотрите этот пример:

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

Ответ 3

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

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