Je souhaite voir les commandes SQL envoyées au serveur PostgreSQL car je dois vérifier si elles sont correctes. En particulier, je suis intéressé par les commandes de création de table.
Par exemple, ActiveRecord (Ruby) imprime ses instructions SQL sur la sortie standard. Est-ce possible avec Node.js/ActionHero.js et Sequelize.js?
Vous pouvez passer une option de journalisation lors de l’initialisation de Sequelize, qui peut être une fonction ou console.log.
var sequelize = new Sequelize('database', 'username', 'password', {
logging: console.log
logging: function (str) {
// do your own logging
}
});
Vous pouvez également transmettre une option de journalisation à .sync si vous souhaitez uniquement afficher les requêtes de création de table.
sequelize.sync({ logging: console.log })
Si vous voulez regarder la suite d'une commande, vous pouvez l'écouter et attacher une fonction à print the sql.
Découvrez cet exemple:
User.find(1).on('sql', console.log).then(function(user) {
// do whatever you want with the user here
Comme indiqué dans le journal Error: Please note that find* was refactored and uses only one options object from now on.
. Pour la dernière version de séquençage (4) si vous voulez avoir le résultat pour une seule commande:
User.findAll({where: {...}, logging: console.log})