modulepackage
0.0.0-20211019145510-d1508f4f2853
Repository: https://github.com/qwertech/planter.git
Documentation: pkg.go.dev
# README
planter
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
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;
# Functions
FilterTables filter tables.
FindColumnByName find table by name.
FindTableByName find table by name.
ForeignKeyToUMLRelation relation.
LoadColumnDef load Postgres column definition.
LoadForeignKeyDef load Postgres fk definition.
LoadTableDef load Postgres table definition.
OpenDB opens database connection.
TableToUMLEntry table entry.
# Interfaces
Queryer database/sql compatible query interface.