Skip to content

klarna-incubator/postgres-to-docs

postgres-to-docs

Build Status License Developed at Klarna

Make your database documentation smoooth by generating markdown for your schema.

Usage

  1. Install through npm
npm install @klarna/postgres-to-docs
  1. Define a json config file
{
    "host": "localhost",
    "port": 5432,
    "user": "user",
    "password": "password",
    "database": "database"
}
  1. Run the tool
postgres-to-docs --config=config.json --output=schema.md

Where --config is the path to your config file and --outputis the path to the output markdown file

Problem

You need to get a quick and easy overview of your database schema but don't want to...

  • Open the source code and find the model definitions
  • Start your database and service, install dependencies, have a proper configuration, and open an external tool like TablePlus or DBeaver
  • Read through your migrations directory to find the latest version of your schema
  • Look through external documentation that might be out of date

Introducing postgres-to-docs!

A Node CLI that renders your schemas as markdown and keeps it up to date! Generates documentation for

  • Tables - PKs, FKs, Nullable and Default values
  • Views
  • User defined types like composites and enums

Future work

  • Additional export formats like entity relationship-diagrams
  • Materialized views
  • Support for watch-mode to rerun the tool on file change

Development

Clone the repo, then:

npm install
npm run start:dev

How to contribute

See our guide on contributing.

Release History

See our changelog.

License

Copyright © 2021 Klarna Bank AB

For license details, see the LICENSE file in the root of this project.