mirror of https://github.com/vapor/docs.git
63 lines
1.8 KiB
Markdown
63 lines
1.8 KiB
Markdown
# Using MySQL
|
|
|
|
This section outlines how to import the MySQL package both with or without a Vapor project.
|
|
|
|
## With Vapor
|
|
|
|
The easiest way to use MySQL with Vapor is to include the MySQL provider.
|
|
|
|
```swift
|
|
import PackageDescription
|
|
|
|
let package = Package(
|
|
name: "Project",
|
|
dependencies: [
|
|
.Package(url: "https://github.com/vapor/vapor.git", majorVersion: 2),
|
|
.Package(url: "https://github.com/vapor/mysql-provider.git", majorVersion: 2)
|
|
],
|
|
exclude: [ ... ]
|
|
)
|
|
```
|
|
|
|
The MySQL provider package adds MySQL to your project and adds some additional, Vapor-specific conveniences like `drop.mysql()`.
|
|
|
|
Using `import MySQLProvider` will import both Fluent and Fluent's Vapor-specific APIs.
|
|
|
|
## With Fluent
|
|
|
|
Fluent is a powerful, pure-Swift ORM that can be used with any Server-Side Swift framework. The MySQL driver allows you to use a MySQL database to power your models and queries.
|
|
|
|
```swift
|
|
import PackageDescription
|
|
|
|
let package = Package(
|
|
name: "Project",
|
|
dependencies: [
|
|
...
|
|
.Package(url: "https://github.com/vapor/fluent.git", majorVersion: 2),
|
|
.Package(url: "https://github.com/vapor/mysql-driver.git", majorVersion: 2)
|
|
],
|
|
exclude: [ ... ]
|
|
)
|
|
```
|
|
|
|
Use `import MySQLDriver` to access the `MySQLDriver` class which you can use to initialize a Fluent `Database`.
|
|
|
|
## Just MySQL
|
|
|
|
At the core of the MySQL provider and MySQL driver is a Swift wrapper around the C MySQL client. This package can be used by itself to send raw, parameterized queries to your MySQL database.
|
|
|
|
```swift
|
|
import PackageDescription
|
|
|
|
let package = Package(
|
|
name: "Project",
|
|
dependencies: [
|
|
...
|
|
.Package(url: "https://github.com/vapor/mysql.git", majorVersion: 2)
|
|
],
|
|
exclude: [ ... ]
|
|
)
|
|
```
|
|
|
|
Use `import MySQL` to access the `MySQL.Database` class. |