我正在寻找一种方法来捕获Objection.js库执行的所有查询的原始 SQL ,并将绑定插入到 SQL 字符串中。
我意识到有一个Knex 事件处理程序可以利用,但是它的第二个参数on('query', data)是一个包含 SQL 模板的对象,其中的绑定是分开的。
例如
{
sql: "select \"accounts\".* from \"accounts\" where \"id\" = ?",
bindings: [1]
}
Run Code Online (Sandbox Code Playgroud)
我想知道是否最优雅的方法是使用.toString()QueryBuilder 上存在的方法,但我认为回调中没有 QueryBuilder 的特定实例。理想情况下,我不会重新发明轮子并重新编写 Knex 的插值方法。
任何指针将不胜感激。
谢谢!
objection.js ×1