Giter Site home page Giter Site logo

showdocdb's Introduction

showdocdb

自动化生成 ShowDoc 数据字典文档,支持 mysql、postgres、sqlserver、sqlite3、oracle。

命令说明

$ showdocdb-windows-amd64.exe h

NAME:
   showdocdb - 自动化生成 ShowDoc 数据字典文档,支持 mysql、postgres、sqlserver、sqlite3、oracle。

USAGE:
   showdocdb [global options] command [command options] [arguments...]

VERSION:
   1.1.0

COMMANDS:
   help, h  Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --apihost value           ShowDoc 地址。 (default: "https://www.showdoc.com.cn") [%SHOWDOC_HOST%]
   --apikey value            ShowDoc 开放 API 认证凭证。 [%SHOWDOC_APIKEY%]
   --apitoken value          ShowDoc 开放 API 认证凭证。 [%SHOWDOC_APITOKEN%]
   --cat value               文档所在目录,如果需要多层目录请用斜杠隔开,例如:“一层/二层/三层”
   --db value                要同步的数据库名
   --debug                   开启调试模式。 (default: false)
   --driver value, -d value  数据库类型,支持:mysql、postgres、sqlserver、sqlite3、oracle (default: "mysql")
   --help                    显示帮助 (default: false)
   --host value, -h value    数据库地址和端口,如果是SQlite数据库则为文件 (default: "127.0.0.1:3306")
   --pwd value, -p value     数据库密码
   --schema value            PostgreSQL 数据库模式 (default: "public")
   --user value, -u value    数据库用户名
   --version, -v             print the version (default: false)

安装

下载可执行文件

已经编译好的平台有: 点击下载

  • windows/amd64
  • linux/amd64
  • darwin/amd64

如果需要连接 SQlite 或 Oracle 数据库生成数据字典,请下载对应的cgo版本可执行程序。

通用参数

1. apihost

ShowDoc 服务器地址

工具中默认配置的官方线上地址 https://www.showdoc.com.cn ,如果你也使用的该服务则不需要修改。

如果你使用的是私有版ShowDoc,则使用时需要通过 --apihost 参数指定为自己的地址。

为了避免每次都手动输入该参数,建议将该地址配置为环境变量 GOSHOWDOC_HOST

2. apikey 和 apitoken

开放 API 认证凭证

工具生成的文档最终会通过开放API同步到 ShowDoc 的项目中,所以需要配置认证凭证(api_key 和 api_token) 。

登录showdoc > 进入具体项目 > 点击右上角的”项目设置” > “开放API” 便可看到。

为了避免每次生成时都输入这两个参数,建议将该参数配置为环境变量 GOSHOWDOC_APIKEYGOSHOWDOC_APITOKEN

3. debug

设置 --debug 参数开启调试模式,输出更详细的日志。

生成数据字典

参数 简写 说明
--cat -cat 文档所在目录,如果需要多层目录请用斜杠隔开,例如:“一层/二层/三层”
--driver -d 数据库类型,支持:mysql、postgres、sqlserver、sqlite3、oracle (default: "mysql")
--host -h 数据库地址和端口,如果是SQlite数据库则为文件 (default: "127.0.0.1:3306")
--user -u 数据库用户名
--pwd -p 数据库密码
--db -db 要同步的数据库名
--schema -schema PostgreSQL 数据库模式 (default: "public")

MySQL

.\showdocdb-windows-amd64.exe -cat 数据字典演示/MySQL -d mysql -h 127.0.0.1:3306 -u root -p 123456 --db demo

PostgreSQL

.\showdocdb-windows-amd64.exe -d postgres -h 127.0.0.1:5432 -u postgres -p 123456 -db postgres

SQLServer

.\showdocdb-windows-amd64.exe -d sqlserver -h 127.0.0.1:1433 -u sa -p 123456 -db testdb

SQlite

因为 go-sqlite3 库是一个 cgo 库,编译代码时需要 gcc 环境。

.\showdocdb-windows-amd64-cgo.exe -driver sqlite3 -h .\test.db

Oracle

因为 godror 库是一个 cgo 库,编译代码时需要 gcc 环境。

注意: 连接 Oracle 需要安装 Oracle 客户端库,可查看 ODPI-C 文档, 从 https://www.oracle.com/database/technologies/instant-client/downloads.html 下载免费的Basic或Basic Light软件包。

.\showdocdb-windows-amd64-cgo.exe -d oracle -h 127.0.0.1:1521 -u scott -p tiger -db orclpdb1

showdocdb's People

Contributors

whaios avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

star7th

showdocdb's Issues

PG15.1导入后缺少表和字段注释

之前看了关闭的问题sql,可以查出来数据,但是没有备注信息【表和字段】;
使用下面的sql可以查出备注信息
【表备注】
SELECT
relname AS tabname,
CAST ( obj_description ( relfilenode, 'pg_class' ) AS VARCHAR ) AS COMMENT
FROM
pg_class C
WHERE
relkind = 'r'
AND relname NOT LIKE'pg_%'
AND relname NOT LIKE'sql_%'
ORDER BY
relname

【表字段备注】
SELECT
A.attname AS field_name,-- 字段名
t.typname as typename, --字段类型
NULLIF(information_schema._pg_char_max_length(A.atttypid, A.atttypmod), -1) AS maxlen, -- 字符串最大长度
col_description ( A.attrelid, A.attnum ) AS COMMENT, -- 字段备注
format_type ( A.atttypid, A.atttypmod ) AS TYPE,
A.attnotnull AS NOTNULL , -- 是否非空
A.atthasdef --是否存在默认值
FROM
pg_class AS C,
pg_attribute AS A ,
pg_type as T
WHERE
C.relname = 'plan'
AND A.attrelid = C.oid
AND A.atttypid= T.oid
AND A.attnum > 0
AND NOT A.attisdropped

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.