Awesome
porcupine
Skunk-inspired library for SQLite on JVM, Node.js, and Native!
libraryDependencies += "com.armanbilge" %%% "porcupine" % "<version>"
Installation
JVM
Delegates to the JDBC Driver.
Node.js
Requires the better-sqlite3 npm package.
npm i better-sqlite3
Native
You must provide a native build of SQLite3. Here are three interesting ways to do this.
- Dynamically linking to an existing installation of sqlite3.
nativeConfig ~= { c => c.withLinkingOptions(c.linkingOptions :+ "-lsqlite3") }
- Statically linking a pre-compiled SQLite into your binary. sn-vcpkg is a great way to do this. An ad-hoc configuration might look like this:
nativeConfig ~= { c => c.withLinkingOptions(c.linkingOptions :+ "/usr/local/Cellar/sqlite/3.41.0/lib/libsqlite3.a") }
- Compiling SQLite as part of your project. You can download the SQLite amalgation as a single
sqlite3.c
file and place it in yourresources/scala-native
directory.