推荐一款在线API、文档工具ShowDoc实现自动同步数据字典

该博客介绍了如何通过脚本实现MySQL数据库结构自动同步到Showdoc,以创建实时更新的数据字典文档。脚本仅上传基本数据库结构信息,确保安全。目前支持Linux环境,适用于数据库设计文档的维护和更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现mysql数据字典自动同步到showdoc脚本

介绍
好的数据字典文档能够清晰地反映出数据库的结构以及相关释义,方便技术人员查阅。我们很容易使用showdoc来生成展示数据库结构的字典文档,并且能根据数据库结构的变动来自动修改文档,省去人工编辑的麻烦。
这一切的自动化依赖于我们的上报脚本。你需要下载我们的脚本到你的服务器上执行,上传数据库结构信息到showdoc。上报脚本的源码完全公开,你可以阅读之以确认安全。我们确保它只会上传基本数据库结构信息,不会上传数据库密码配置、业务数据等敏感信息。
目前只支持linux下的mysql数据库,更多类型未来再考虑。

脚本的代码如下:

#!/bin/bash
#
#
#
host="192.168.1.116"                            #数据库所在地址。默认是localhost
port=3306                                       #数据库所在端口。默认是3306
user="qsdi_***"                                #数据库的用户名
password="qsdi***"                    #密码
db="qsdi"                                       #要同步的数据库名。要同步多个db可以将本脚本复制多份
api_key="d0a4a89fb9e56401441b275e680c66c1903686937"                     #api_key
api_token="3f015b97624779ecdba272d65d89e7ed2069707790"  #api_token
cat_name="数据库设计文档"       #可选。如果想把生成的文档都放在项目的子目录下,则这里填写子目录名。
url="http://192.168.1.123:4999/server/?s=/api/open/updateDbItem" #可选。同步到的url。
#
#
#
#
#
#
export MYSQL_PWD=${password}
COMMAND="set names utf8;select TABLE_NAME ,TABLE_COMMENT from tables where TABLE_SCHEMA ='${db}'  "
declare table_info=`mysql -h${host} -P${port} -u${user}  --show-warnings=false -D information_schema -e "${COMMAND}" `
#echo $table_info
COMMAND="set names utf8;select TABLE_NAME ,COLUMN_NAME, COLUMN_DEFAULT ,IS_NULLABLE ,COLUMN_TYPE ,COLUMN_COMMENT from COLUMNS where TABLE_SCHEMA ='${db}'  "
declare table_detail=`mysql -h${host} -P${port} -u${user}  --show-warnings=false -D information_schema -e "${COMMAND}" `
#echo $table_detail
table_info2=${table_info//&/_this_and_change_}
table_detail2=${table_detail//&/_this_and_change_}
curl -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8'  "${url}" --data-binary @- <<CURL_DATA
from=shell&table_info=${table_info2}&table_detail=${table_detail2}&api_key=${api_key}&api_token=${api_token}&cat_name=${cat_name}
CURL_DATA
export MYSQL_PWD=""

脚本命名:syn_mysql.sh
添加执行权限:sudo chmod a+x syn_mysql.sh
执行脚本:sh syn_mysql.sh
返回结果:成功(可以到showodoc查看是否同步成功字典)

在这里插入图片描述

设置定时执行脚本
crontab -e 添加定时、路径
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

铁墩墩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值