Как мне записать операторы SQL в Vapor 3 / Fluent? - PullRequest
0 голосов
/ 27 октября 2018

Похоже, что в Vapor 2 вы могли бы сделать что-то вроде:

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

, и это напечатало бы полный оператор SQL, но я не вижу никакой документации о том, как это сделать сейчас в Vapor3.

Как мне увидеть, какой SQL генерируется моим QueryBuilder?

1 Ответ

0 голосов
/ 28 октября 2018

Спасибо Нику в комментариях, который указал мне на правильный набор документов.Это можно сделать с помощью метода 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.

...