介绍
好的数据字典文档能够清晰地反映出数据库的结构以及相关释义,方便技术人员查阅。我们很容易使用showdoc来生成展示数据库结构的字典文档,并且能根据数据库结构的变动来自动修改文档,省去人工编辑的麻烦。
目前官方只支持linux下的mysql数据库。其他类型的数据库可以使用由第三方开发者维护的go脚本showdocdb生成,它支持postgres、sqlserver、sqlite3、oracle,win平台和linux平台皆可用 : https://github.com/whaios/showdocdb
这里以postgres数据库为例,详解showdocdb脚本的使用。
安装
GitHub官网项目安装地址:
Releases · whaios/showdocdb (github.com)
GitHub镜像项目安装地址(可能会失效):
Releases · whaios/showdocdb (hscsec.cn)
选择windows 64版进行下载
快速入门
打开私有域的ShowDoc(第一次访问需要注册)
填入项目名和描述
点击齿轮进入项目设置
查看项目的开放api
打开刚刚下载脚本的文件夹,在地址栏输入cmd然后按回车
输入数据库的配置信息、刚刚创建项目的apikey和apitoken
showdocdb-windows-amd64.exe -d postgres -h localhost:5432 -u username -p password -db hcy --apihost showdoc私有域地址 --apikey 8453986e4697e4be57443a151b8c1c651009843626 --apitoken 5ae0faf6182b651a48ad189d751965d3654472141
详情配置信息见底部的命令说明和通用参数
等待文档更新完成
最后打开ShowDoc项目页面,大功告成
命令说明
$ 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)
通用参数
apihost
ShowDoc 服务器地址
工具中默认配置的官方线上地址 https://www.showdoc.com.cn ,如果你也使用的该服务则不需要修改。
如果你使用的是私有版ShowDoc,则使用时需要通过 --apihost 参数指定为自己的地址。
为了避免每次都手动输入该参数,建议将该地址配置为环境变量 GOSHOWDOC_HOST。
apikey 和 apitoken
开放 API 认证凭证
工具生成的文档最终会通过开放API同步到 ShowDoc 的项目中,所以需要配置认证凭证(api_key 和 api_token) 。
登录showdoc > 进入具体项目 > 点击右上角的”项目设置” > “开放API” 便可看到。
为了避免每次生成时都输入这两个参数,建议将该参数配置为环境变量 GOSHOWDOC_APIKEY 和 GOSHOWDOC_APITOKEN。
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