Skip to content

klarna-incubator/postgres-to-docs

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 

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.