edit

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.

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.

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.

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.