Fastify plugin to connect to a SQLite3 database.
Under the hood, this plugin uses sqlite3
.
npm install fastify-sqlite
Plugin version | Fastify version |
---|---|
^1.0.0 |
^4.0.0 |
const fastifySqlite = require('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.
You can pass the following options to the plugin:
await app.register(require('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')
Copyright Manuel Spigolon, Licensed under MIT.