scheman

command module
v1.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 24, 2023 License: BSD-3-Clause Imports: 12 Imported by: 0

README ¶

scheman

License ActionsCI Go Report Card

Scheman is a tool to visualize tables schema or ERD of connected RDB.

Main purpose of this is accelerating working collaboration between engineers and non-engineers.

You can choose output destination from Notion, File or both of them.

Sample Images

Here is examples for output.

Notion

File
definition

https://github.com/maru44/scheman/blob/master/testdata/postgres/def.csv

ERD

https://github.com/maru44/scheman/blob/master/testdata/postgres/erd.md

Supported Databases
Database Test Confirmed
PostgreSQL 👌
MySQL 👌
MSSQL Server
SQLite3
CockroachDB
Supported Output Destination

Only Notion is supported as output destination now. But I am going to add output destination like spread-sheat.

Output Destination Test Confirmed
Notion 👌
File 👌

How to Use

Install this package and write settings for connection.

installation

go install github.com/maru44/scheman@v1.3.0

example for PostgreSQL - Notion)

go install github.com/volatiletech/sqlboiler/v4/drivers/sqlboiler-psql@v4.8.6 \
 && scheman psql --services notion --erd-outputs notion \
  --notion-token ${NOTION_TOKEN} --notion-page-id ${PSQL_NOTION_PAGE_ID}

If you want to overwrite your schema-definition tables or ERD, you have to set notion-table-index after this command done. This value is oututted in your command line.

example for MySQL - File with sqlboiler.toml)

go install github.com/volatiletech/sqlboiler/v4/drivers/sqlboiler-mysql@v4.8.6 \
 && scheman mysql -c sqlboiler.toml --def-file def.csv --erd-file erd.md
Generic config options
Name Defaults
config "scheman" if you use sqlboiler, you can use sqlboiler.toml(.yaml) with setting this "sqlboiler.toml(.yaml)"
services [ ] notion
erd-outputs [ ] notion
notion-page-id "" required if output destinations contain "notion"
notion-page-token "" required if output destinations contain "notion"
notion-table-index "" if you want to overwrite definition table, please fill this
def-file "" The file name. required if output destinations if you want to output tables schema to file
erd-file "" The file name. required if output destinations if you want to output ERD to file
disable-views false
attr-ignore [ ]
Database Driver Configuration

Settings for database you want to connect.

Name Required Postgres Default MySQL Default MSSQL Default
schema no "public" none "dbo"
dbname yes none none none
host yes none none none
port no 5432 3306 1433
user yes none none none
pass no none none none
sslmode no "require" "true" "true"
whitelist no [] [] []
blacklist no [] [] []

ref: https://github.com/volatiletech/sqlboiler#database-driver-configuration

thx

https://github.com/volatiletech/sqlboiler

https://github.com/dstotijn/go-notion

Documentation ¶

The Go Gopher

There is no documentation for this package.

Directories ¶

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL