PostgreSQLサーバーに送信されるSQLコマンドを確認したいのは、それらが正しいかどうかを確認する必要があるためです。特に、テーブル作成コマンドに興味があります。
たとえば、ActiveRecord(Ruby)はそのSQLステートメントを標準出力に出力します。 Node.js/ActionHero.jsとSequelize.jsでもこれは可能ですか?
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 })
1つのコマンドの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)で、1つのコマンドのみの結果を取得する場合:
User.findAll({where: {...}, logging: console.log})