1.0.0 • Published 4 months ago
typed-fastify-sqlite v1.0.0
fastify-sqlite
A fork of this repo, live now untill the PR is approved.
Fastify plugin to connect to a SQLite3 database.
Under the hood, this plugin uses sqlite3
.
Install
npm install typed-fastify-sqlite
Compatibility
Plugin version | Fastify version |
---|---|
^1.0.0 | ^4.0.0 |
Usage
const fastifySqlite = require("typed-fastify-sqlite");
async function main() {
const app = fastify();
app.register(fastifySqlite, {
dbFile: "foo.db",
});
await app.ready();
app.sqlite.all("SELECT * FROM myTable", (err, rows) => {
// do something
});
}
main();
Checkout the sqlite3 documentation to see all the available methods.
Note that Promise APIs are not supported by the sqlite3
module by default.
By using the promiseApi
option, the sqlite
wrapper will be used
to enhance the Database instance. It has many convenient utilities such as migration
support.
Options
You can pass the following options to the plugin:
await app.register(require("typed-fastify-sqlite"), {
promiseApi: true, // the DB instance supports the Promise API. Default false
name: "mydb", // optional decorator name. Default null
verbose: true, // log sqlite3 queries as trace. Default false
dbFile: ":memory:", // select the database file. Default ':memory:'
mode: fastifySqlite.sqlite3.OPEN_READONLY,
// how to connecto to the DB, Default: OPEN_READWRITE | OPEN_CREATE | OPEN_FULLMUTEX
});
// usage WITH name option
await app.sqlite.myDb.all("SELECT * FROM myTable");
License
Copyright Manuel Spigolon, Licensed under MIT.
1.0.0
4 months ago