Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/herrmannplatz/fastify-postgresjs

Fastify postgres.js plugin
https://github.com/herrmannplatz/fastify-postgresjs

database fastify-plugin postgresql

Last synced: 2 months ago
JSON representation

Fastify postgres.js plugin

Awesome Lists containing this project

README

        

# fastify-postgresjs

[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat)](http://standardjs.com/) [![Build Status](https://travis-ci.org/fastify/fastify-postgres.svg?branch=master)](https://travis-ci.org/herrmannplatz/fastify-postgresjs)

Fastify PostgreSQL connection plugin, based on [postgres](https://github.com/porsager/postgres).

## Install

```
npm i postgres fastify-postgresjs --save
```

## Usage

Add it to you project with `register` and you are done!
This plugin will add the `sql` namespace in your Fastify instance.

Example:

```js
const fastify = require('fastify')()

const url = 'postgres://postgres@localhost/postgres'

const options = { /* postgres.js options */ }

fastify.register(require('fastify-postgresjs'), {
url, ...options
})

fastify.get('/users/:id', async (req, reply) => {
const users = await fastify.sql`
select * from users
where id = ${req.params.id}
`
return users
})

fastify.listen(3000, err => {
if (err) throw err
console.log(`server listening on ${fastify.server.address().port}`)
})
```

## Development and Testing

First, start postgres with:

```
$ docker run --rm -d -p 5432:5432 --name fastify-postgresjs postgres:11-alpine
```

Run the tests.

```
$ npm test
```