Skip to content
forked from achiku/planter

Generate PlantUML ER diagram textual description from PostgreSQL tables

License

Notifications You must be signed in to change notification settings

go-isele/planter

 
 

Repository files navigation

planter

test GitHub license Go Report Card

Generate PlantUML ER diagram textual description from PostgreSQL tables

Why created

A team with only software engineers doesn't need ER diagram that much as long as they have decent experience in Relational Database modeling. However, it becomes very helpful to have always-up-to-date ER diagram when marketing/promotion/operation teams consisting of those who are fluent in writing/reading SQL, join to the game.

PlantUML supports ER diagram in the latest version with this awesome pull request. The tool, planter, generates textual description of PlantUML ER diagram from pre-existing PostgreSQL tables, and makes it easy to share visual structure of relations with other teams.

Installation

go get -u github.com/achiku/planter

Quick Start

$ planter postgres://planter@localhost/planter?sslmode=disable -o example.uml
$ java -jar plantuml.jar -verbose example.uml

er diagram

Specify table names

planter postgres://planter@localhost/planter?sslmode=disable \ 
    -t order_detail \
    -t sku \
    -t product

Help

$ planter --help
usage: planter [<flags>] <conn>

Flags:
      --help                 Show context-sensitive help (also try --help-long and --help-man).
  -s, --schema="public"      PostgreSQL schema name
  -o, --output=OUTPUT        output file path
  -t, --table=TABLE ...      target tables
  -x, --exclude=EXCLUDE ...  target tables
  -T, --title=TITLE          Diagram title

Args:
  <conn>  PostgreSQL connection string in URL format

Test

setup database.

create database planter;
create user planter;

run go test ./... -v

About

Generate PlantUML ER diagram textual description from PostgreSQL tables

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 99.1%
  • Shell 0.9%