1.0.0 • Published 4 months ago

typed-fastify-sqlite v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

fastify-sqlite

JavaScript Style Guide ci

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 versionFastify 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.