Generate PlantUML ER diagram textual description from PostgreSQL tables
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
example Fix one to one relation b/w non-composite pk tables Oct 25, 2017
.gitignore Init Sep 24, 2017
.travis.yml Update .travis.yml Mar 16, 2018
Gomfile Init Sep 24, 2017
LICENSE Initial commit Sep 17, 2017
README.md Add table exclude option Oct 1, 2018
main.go Add table exclude option Oct 1, 2018
planter.go Add table exclude option Oct 1, 2018
planter_test.go Add tests Oct 8, 2017
sql.go Add tests Oct 8, 2017
template.go Refactor code Sep 30, 2017

README.md

planter

Build Status 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, --xtable=TABLE ... exclude target tables

Args:
  <conn>  PostgreSQL connection string in URL format

Test

install dependencies.

go get -u github.com/mattn/gom
gom install

setup database.

create database planter;
create user planter;