加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

postgresql – 如何在Vapor 3 / Fluent中记录SQL语句?

发布时间:2020-12-13 15:59:19 所属栏目:百科 来源:网络整理
导读:看起来在Vapor 2中你可以做类似的事情: let query = some fluent query objectlogger?.debug(query) 它会打印出完整的SQL语句,但我现在没有看到任何关于如何在Vapor 3中执行此操作的文档. 如何查看QueryBuilder生成的SQL? 解决方法 感谢Nick在评论中指出了
看起来在Vapor 2中你可以做类似的事情:

let query = <some fluent query object>
logger?.debug(query)

它会打印出完整的SQL语句,但我现在没有看到任何关于如何在Vapor 3中执行此操作的文档.

如何查看QueryBuilder生成的SQL?

解决方法

感谢Nick在评论中指出了正确的文档集.这可以通过使用enableLogging方法来完成.所以现在我的configure.swift包含以下代码:

let dbConfig: PostgreSQLDatabaseConfig
if let url = Environment.get("DATABASE_URL"),let psqlConfig = PostgreSQLDatabaseConfig(url: url,transport: .unverifiedTLS) {
    dbConfig = psqlConfig
} else {
    dbConfig = ...something for the local db...
}

let postgresql = PostgreSQLDatabase(config: dbConfig)

/// Register the configured SQLite database to the database config.
var databases = DatabasesConfig()
databases.enableLogging(on: .psql)
databases.add(database: postgresql,as: .psql)
services.register(databases)

重要的是从底部开始的第三条线.有一段时间我试图在PostgreSQLDatabaseConfig上启用调试,所以对于将来的任何人,请注意您在DatabasesConfig对象上启用它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读