Skip to content

A stand-alone Swift wrapper around the MySQL client library, enabling access to MySQL servers.

License

Notifications You must be signed in to change notification settings

RockfordWei/Perfect-MySQL

 
 

Repository files navigation

Perfect - MySQL Connector

Get Involed with Perfect!

Star Perfect On Github Stack Overflow Follow Perfect on Twitter Join the Perfect Slack

Swift 4.1 Platforms OS X | Linux License Apache PerfectlySoft Twitter Slack Status

This project provides a Swift wrapper around the MySQL client library, enabling access to MySQL database servers.

This package builds with Swift Package Manager and is part of the Perfect project. It was written to be stand-alone and so does not require PerfectLib or any other components.

Ensure you have installed and activated the latest Swift 4.1.2 tool chain.

macOS Build Notes

This package requires the Home Brew build of MySQL.

To install Home Brew:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

To install MySQL:

brew install mysql@5.7

Unfortunately, at this point in time you will need to edit the mysqlclient.pc file located here:

/usr/local/lib/pkgconfig/mysqlclient.pc

Remove the occurrance of "-fno-omit-frame-pointer". This file is read-only by default so you will need to change that first.

If you get a link error while build in Xcode, please, close XCode, open a New terminal, go to the place where you have your Packages.swift and build the project again:

swift package generate-xcodeproj

After this you have to set the path for libraries again.

Linux Build Notes

Ensure that you have installed libmysqlclient-dev for MySQL version 5.6 or greater.

sudo apt-get install libmysqlclient-dev

Please note that Ubuntu 14 defaults to including a version of MySQL client which will not compile with this package. Install MySQL client version 5.6 or greater.

Building

Add this project as a dependency in your Package.swift file.

.package(url:"https://github.com/PerfectlySoft/Perfect-MySQL.git", from: "3.0.0")

Documentation

For more information, please visit perfect.org.

Update for Swift 5.4 + Perfect Classic

// swift-tools-version: 5.4
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription

let package = Package(
    name: "DemoApp",
    dependencies: [
        .package(url: "https://github.com/RockfordWei/Perfect.git", from: "5.6.13"),
        .package(url: "https://github.com/RockfordWei/Perfect-MySQL.git", from: "5.6.3"),
    ],
    targets: [
        .executableTarget(
            name: "DemoApp",
            dependencies: [
                .product(name: "PerfectLib", package: "Perfect"),
                .product(name: "PerfectMySQL", package: "Perfect-MySQL")
            ]),
    ]
)

About

A stand-alone Swift wrapper around the MySQL client library, enabling access to MySQL servers.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 99.5%
  • Other 0.5%