获取由 sequelize.js 生成的原始查询 [重复]

Posted

技术标签:

【中文标题】获取由 sequelize.js 生成的原始查询 [重复]【英文标题】:Get raw query generated by sequelize.js [duplicate] 【发布时间】:2015-03-13 03:10:27 【问题描述】:

大家下午好。我正在使用 sequelize.js (postgresql) 开发一个 node.js/express 系统。

我的问题是:我需要将 sequelize 生成的原始查询存储在日志历史记录中,但我找不到返回生成查询的函数。有谁知道 sequelize 是否提供了返回生成的 SQL 查询的函数,或者是否有其他方法可以实现这一点?

【问题讨论】:

【参考方案1】:

最好的办法是使用 Sequelize 的内置日志记录功能。

var sequelize = new Sequelize('db', 'username', 'pwd', 

  // you can either write to console
  logging: console.log

  // or write your own custom logging function
  logging: function (str) 
    // do stuff with the sql str
  
);

【讨论】:

如果我只想打印特定查询而不是所有查询怎么办? 您可以将 logging: true 用于特定查询。检查FindAll的参数 如果我们只想得到一个不执行的查询怎么办?

以上是关于获取由 sequelize.js 生成的原始查询 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Sequelize.js - 连接子句中的子选择

如何在执行查询之前从Laravel的查询生成器获取原始查询字符串?

从 Phalcon 查询生成器获取原始 sql

使用 Sequelize.js 和 PostgreSQL 在关联模型上查询 JSONB 字段

从已经定义的模型中获取 Sequelize.js ENUM 值

在 sequelize.js 中获取与 belongsToMany 的关联