Come posso vedere l’SQL generato da Sequelize.js?

Voglio vedere i comandi SQL inviati al server PostgreSQL perché devo verificare se sono corretti. In particolare, sono interessato ai comandi per la creazione di tabelle.

Ad esempio, ActiveRecord (Ruby) stampa le sue istruzioni SQL sullo standard output. Ciò è ansible anche con Node.js / ActionHero.js e Sequelize.js?

È ansible passare un’opzione di registrazione durante l’inizializzazione di sequelize, che può essere una funzione o console.log

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

È anche ansible passare un’opzione di registrazione a .sync se si desidera solo visualizzare le query di creazione della tabella

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

Se si desidera esaminare il sequelize per un comando, è ansible ascoltarlo e albind una funzione alla stampa sql.

Guarda questo esempio:

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

Come indicato nel log Error: Please note that find* was refactored and uses only one options object from now on. . Per l’ultima versione sequelize (4) se si desidera avere il risultato per un solo comando:

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