Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/perfectlysoft/perfect-mariadb

A stand-alone Swift wrapper around the MariaDB client library, enabling access to MariaDB servers. http://www.perfect.org
https://github.com/perfectlysoft/perfect-mariadb

database mariadb mariadb-connector mysql perfect server-side-swift swift

Last synced: 4 days ago
JSON representation

A stand-alone Swift wrapper around the MariaDB client library, enabling access to MariaDB servers. http://www.perfect.org

Awesome Lists containing this project

README

        

# Perfect - MariaDB Connector [简体中文](README.zh_CN.md)



Get Involed with Perfect!



Star Perfect On Github


Stack Overflow


Follow Perfect on Twitter


Join the Perfect Slack



Swift 5.0


Platforms OS X | Linux


License Apache


PerfectlySoft Twitter


Slack Status

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

This package builds with Swift Package Manager and is part of the [Perfect](https://github.com/PerfectlySoft/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 tool chain.

## OS X Build Notes

### To install MariaDB connector:

```bash
brew install mariadb-connector-c
```

## Linux Build Notes

Tests performed on Ubuntu 18.04. Prior to building this library, please ensure you install the required MariaDB library:

```bash
sudo apt-get install pkg-config libmariadb-dev
```

On older distros (like 16.04), you may need to install libmariadb-client-lgpl-dev instead of libmariadb-dev. On older versions, you will also need to create a pkg-config file. In such cases, create /usr/lib/pkgconfig/libmariadb.pc and make it look something like this:

```
libdir=/usr/lib/x86_64-linux-gnu
includedir=/usr/include/mariadb

Name: libmariadb
Description: MariaDB Connector/C
Version: 5.5.0
Requires:
Cflags: -I${includedir}
Libs: -L${libdir} -lmariadb
Libs.private: -ldl -lm -lpthread
```

To test if pkg-config is working, try running the command:

```bash
pkg-config libmariadb --cflags --libs
```

## Building

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

```
.package(url:"https://github.com/PerfectlySoft/Perfect-MariaDB.git", from: "3.0.0")
...
dependencies: ["MariaDB"]),
```

Import required libraries:
```
import MariaDB
import PerfectCRUD
```

Perfect-MariaDB supports the Perfect-CRUD protocol. Please check [Perfect-CRUD](https://github.com/PerfectlySoft/Perfect-CRUD.git) for more information.

## Further Information
For more information on the Perfect project, please visit [perfect.org](http://perfect.org).