fastify-sqlite
v1.1.0
Published
Fastify plugin to connect to a SQLite database
Downloads
400
Maintainers
Readme
fastify-sqlite
Fastify plugin to connect to a SQLite3 database.
Under the hood, this plugin uses sqlite3
.
Install
npm install fastify-sqlite
Compatibility
| Plugin version | Fastify version |
| ------------- |:---------------:|
| ^1.0.0
| ^4.0.0
|
Usage
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.
Options
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')
License
Copyright Manuel Spigolon, Licensed under MIT.