我需要获取查询界面的完整sql查询才能将其保存为用户默认设置,但我找不到此功能
更新: 为了获得完整的查询字符串:
包括由sqlite修剪以进行注入的参数,您不能手动将这些参数替换为问号。
您无法获得这些参数的真实价值,因为它们是私有的
答案 0 :(得分:0)
How do I print a request as SQL?常见问题解答说:
您可以将您的请求转换为SQLRequest实例:
try dbQueue.read { db in let request = Wine .filter(Column("origin") == "Burgundy") .order(Column("price") let sqlRequest = try SQLRequest(db, request: request) print(sqlRequest.sql) // Prints SELECT * FROM wine WHERE origin = ? ORDER BY price print(sqlRequest.arguments) // Prints ["Burgundy"] }
答案 1 :(得分:0)
最新的GRDB中有一个trace
函数:
// Prints all SQL statements
var config = Configuration()
config.prepareDatabase { db in
db.trace { print($0) }
}