Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eomm/fastify-sqlite
Fastify plugin to connect to a SQLite database
https://github.com/eomm/fastify-sqlite
database fastify fastify-plugin hacktoberfest nodejs sqlite sqlite3
Last synced: 6 days ago
JSON representation
Fastify plugin to connect to a SQLite database
- Host: GitHub
- URL: https://github.com/eomm/fastify-sqlite
- Owner: Eomm
- License: mit
- Created: 2022-09-13T06:09:59.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-01-09T11:28:36.000Z (10 months ago)
- Last Synced: 2024-11-01T16:36:39.148Z (14 days ago)
- Topics: database, fastify, fastify-plugin, hacktoberfest, nodejs, sqlite, sqlite3
- Language: JavaScript
- Homepage:
- Size: 18.6 KB
- Stars: 10
- Watchers: 4
- Forks: 2
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# fastify-sqlite
[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)
[![ci](https://github.com/Eomm/fastify-sqlite/actions/workflows/ci.yml/badge.svg)](https://github.com/Eomm/fastify-sqlite/actions/workflows/ci.yml)Fastify plugin to connect to a SQLite3 database.
Under the hood, this plugin uses [`sqlite3`](https://www.npmjs.com/package/sqlite3).## Install
```
npm install fastify-sqlite
```### Compatibility
| Plugin version | Fastify version |
| ------------- |:---------------:|
| `^1.0.0` | `^4.0.0` |## Usage
```js
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](https://github.com/TryGhost/node-sqlite3/wiki/API) 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`](https://github.com/kriasoft/node-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:
```js
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](https://github.com/Eomm), Licensed under [MIT](./LICENSE).