【发布时间】:2018-04-30 08:47:09
【问题描述】:
出于调试目的,我想查看 SQL 查询 knex 正在执行。例如,我想查看knex 为这段代码生成的 SQL:
knex('statistics')
.del()
.where({
'stats': 'reddit',
});
【问题讨论】:
标签: javascript knex.js
出于调试目的,我想查看 SQL 查询 knex 正在执行。例如,我想查看knex 为这段代码生成的 SQL:
knex('statistics')
.del()
.where({
'stats': 'reddit',
});
【问题讨论】:
标签: javascript knex.js
http://knexjs.org/#Interfaces-toSQL
knex('statistics')
.del()
.where({
'stats': 'reddit',
}).toSQL().toNative()
【讨论】:
toNative().sql
toNative().bindings
knex('statistics')
.del()
.where({
'stats': 'reddit',
}).toString();
【讨论】:
toString() 与 .toSQL().toNative() 相同,但更短。你真的认为只有一个正确答案吗?
在我的情况下 toSQL()... 不会产生“已解析”的 SQL 字符串,只有 toString() 有效,我不确定这是否取决于查询生成器的具体用法。
【讨论】:
要打印所有查询,然后在初始化对象上传递debug: true 标志,将为所有查询打开debugging。
knex({
client: 'mysql',
debug: true,
connection: {
host: '127.0.0.1',
port: 3306,
user: 'root',
password: '',
database: ''
}
})
【讨论】: