Skip to content

Eomm/fastify-sqlite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fastify-sqlite

JavaScript Style Guide ci

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.