【问题标题】:How do I log SQL statements in Vapor 3/Fluent?如何在 Vapor 3/Fluent 中记录 SQL 语句?
【发布时间】:2019-04-01 02:37:37
【问题描述】:

看起来在 Vapor 2 中您可以执行以下操作:

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

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

如何查看我的QueryBuilder 正在生成什么 SQL?

【问题讨论】:

  • 这不是:docs.vapor.codes/3.0/database-kit/overview 一个起点吗?检查配置部分的最后几段。
  • 谢谢@Nick!能够在该文档中找到它 - 一直在所有错误的地方寻找,所以感谢您指出 :) 添加了答案,但如果您发布一个答案,我们很乐意给您好评!
  • 感谢您的提议,但您已经完成了所有工作!

标签: postgresql vapor


【解决方案1】:

感谢 cmets 中的 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 对象上启用它。

【讨论】:

    猜你喜欢
    • 2011-02-03
    • 1970-01-01
    • 2018-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-07
    • 2019-04-01
    相关资源
    最近更新 更多