diff --git a/3.0/docs/mysql/core.md b/3.0/docs/mysql/core.md index d30e5f12..f7e55c8f 100644 --- a/3.0/docs/mysql/core.md +++ b/3.0/docs/mysql/core.md @@ -94,7 +94,7 @@ Visiting this route should display your MySQL version. A `MySQLConnection` is normally created using the `Request` container and can perform two different types of queries. -### Create +### Create (with Request) There are two methods for creating a `MySQLConnection`. @@ -109,6 +109,16 @@ return req.withConnection(to: .mysql) { conn in As the names imply, `withPooledConnection(to:)` utilizes a connection pool. `withConnection(to:)` does not. Connection pooling is a great way to ensure your application does not exceed the limits of your database, even under peak load. +### Create (manually) + +If you are writing a simple tool and would like to use the `MySQL` wrapper, it is also quite simple. You need to create a SwiftNIO [`EventGroup`](https://github.com/apple/swift-nio/blob/master/README.md#eventloops-and-eventloopgroups) that can power the connection: + +``` +let database = MySQLDatabase(config: config) +let worker = MultiThreadedEventLoopGroup(numThreads: System.coreCount) +let futureConnection = database.makeConnection(on: worker) +``` + ### Simply Query Use `.simpleQuery(_:)` to perform a query on your MySQL database that does not bind any parameters. Some queries you send to MySQL may actually require that you use the `simpleQuery(_:)` method instead of the parameterized method.