如何查看查询 `knex` 构建?
How can I view the query `knex` builds?
出于调试目的,我想查看 SQL 查询 knex
是否正在执行。例如,我想查看 knex
为此代码生成的 SQL:
knex('statistics')
.del()
.where({
'stats': 'reddit',
});
http://knexjs.org/#Interfaces-toSQL
knex('statistics')
.del()
.where({
'stats': 'reddit',
}).toSQL().toNative()
knex('statistics')
.del()
.where({
'stats': 'reddit',
}).toString();
在我的例子中 toSQL()... 不会产生“已解析”的 SQL 字符串,只有 toString() 有效,我不确定这是否取决于一个人的具体情况查询生成器的使用。
要打印所有查询,然后在初始化对象上传递 debug: true
标志,将为所有查询打开 debugging
。
knex({
client: 'mysql',
debug: true,
connection: {
host: '127.0.0.1',
port: 3306,
user: 'root',
password: '',
database: ''
}
})
你可以使用toKnexQuery().toSQL()
console.log(query.toKnexQuery().toSQL())
出于调试目的,我想查看 SQL 查询 knex
是否正在执行。例如,我想查看 knex
为此代码生成的 SQL:
knex('statistics')
.del()
.where({
'stats': 'reddit',
});
http://knexjs.org/#Interfaces-toSQL
knex('statistics')
.del()
.where({
'stats': 'reddit',
}).toSQL().toNative()
knex('statistics')
.del()
.where({
'stats': 'reddit',
}).toString();
在我的例子中 toSQL()... 不会产生“已解析”的 SQL 字符串,只有 toString() 有效,我不确定这是否取决于一个人的具体情况查询生成器的使用。
要打印所有查询,然后在初始化对象上传递 debug: true
标志,将为所有查询打开 debugging
。
knex({
client: 'mysql',
debug: true,
connection: {
host: '127.0.0.1',
port: 3306,
user: 'root',
password: '',
database: ''
}
})
你可以使用toKnexQuery().toSQL()
console.log(query.toKnexQuery().toSQL())