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.
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 [email protected]
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.
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.
Add this project as a dependency in your Package.swift file.
.package(url:"https://github.com/PerfectlySoft/Perfect-MySQL.git", from: "3.0.0")
For more information, please visit perfect.org.
// 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")
]),
]
)