Skip to content

schemavaults/dbh

Repository files navigation

@schemavaults/dbh

About

This package makes it easy to connect to a Postgres instance and run queries using the 'Kysely' type-safe query builder-- whether it's a local Postgres container or a serverless Neon-hosted Postgres container.

Highlighted Dependencies

Usage

While @schemavaults/dbh can be used in development or production, this repository also contains tools to run your postgres database locally.

In your docker-compose.yml

Ensure that you have both postgres and a postgres-ws-proxy containers running with Docker. For an example, see the e2e test docker-compose.yml file: ./tests/docker-compose.yml

You'll likely want to replace the build: sections for the services in the e2e test example .yml file with image:. For example, use image: postgres:17.7 for the postgres service. For the proxy, you can pull the docker image from ghcr.io/schemavaults/dbh/postgres-ws-proxy; use the version number equal to your @schemavaults/dbh npm package installation:

# NPM Package: @schemavaults/dbh@0.7.0 => ghcr.io/schemavaults/dbh/postgres-ws-proxy:0.7.0

In your application server code

Set up an adapter.

For an example, see the e2e test file: ./src/tests/e2e/ConnectToLocalDatabase.test.ts

You may need to define a custom WsProxyUrlGenerator function to determine how the postgres-ws-proxy can be reached.

Required Environment Variables

Ensure that the following environment variables are defined:

POSTGRES_USER=""
POSTGRES_PASSWORD=""
POSTGRES_URL=""
POSTGRES_URL_NON_POOLING=""
POSTGRES_HOST=""
POSTGRES_PORT="5432"
POSTGRES_DATABASE=""

Examples / Integration Tests

See the tests docker-compose.yml file for an example of:

If you have docker compose installed you can use the helper script to run the tests:

cd ./tests && /bin/bash ./run_e2e_tests.sh

GitHub Repository

https://github.com/schemavaults/dbh

About

SchemaVaults Server SDK for Database Handle

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages