Swift-Kuery-SQLite
SQLite plugin for the Swift-Kuery framework. It enables you to use Swift-Kuery to manipulate data in an SQLite database.
SQLite installation
To use Swift-Kuery-SQLite you must install SQLite.
macOS
You can install SQLite with Homebrew:
$ brew install sqlite
Or, if you prefer MacPorts, you can use that too, though note that you need to symlink a file into the place that Homebrew installs it:
$ port install sqlite3
$ mkdir -p /usr/local/opt/sqlite/include
$ ln -s /opt/local/include/sqlite3.h /usr/local/opt/sqlite/include/
Linux
$ sudo apt-get install sqlite3 libsqlite3-dev
Usage
Add dependencies
Add the Swift-Kuery-SQLite package to the dependencies within your application’s Package.swift file. Substitute "x.x.x" with the latest Swift-Kuery-SQLite release.
.package(url: "https://github.com/IBM-Swift/Swift-Kuery-SQLite.git", from: "x.x.x")
Add SwiftKuerySQLite to your target’s dependencies:
.target(name: "example", dependencies: ["SwiftKuerySQLite"]),
Import package
import SwiftKuerySQLite
Using Swift-Kuery-SQLite
First create an instance of Swift-Kuery-SQLite by calling:
let connection = SQLiteConnection(filename: "myDB.db")
You don’t have to pass a filename, if you choose not to pass in a filename then your database will be in-memory.
To establish a connection call:
connection.connect() { result in
guard result.success else {
// Connection unsuccessful
return
}
// Connection succesful
// Use connection
}
If you want to have multiple connections to your database you can create a ConnectionPool as follows:
let pool = SQLiteConnection.createPool(filename: "myDB.db", poolOptions: ConnectionPoolOptions(initialCapacity: 10, maxCapacity: 30))
pool.getConnection() { connection, error in
guard let connection = connection else {
// Handle error
return
}
// Use connection
}
Note, you don’t have to pass a filename to the createPool method, if you choose not to pass in a filename then your pool will be shared in-memory.
You now have a connection that can be used to execute SQL queries created using Swift-Kuery. View the Kuery documentation for more information, or see the Database Connectivity with Kuery chapter of the Kitura Until Dawn guidebook/tutorial.
API Documentation
For more information visit our API reference.
Community
We love to talk server-side Swift, and Kitura. Join our Slack to meet the team!
License
This library is licensed under Apache 2.0. Full license text is available in LICENSE.
View on GitHub
SwiftKuerySQLite Reference