MySQL 表结构生成 Markdown 文档 | 工具篇

背景

在实施软件工程的时候,当要将某一版本归档时,需要汇总的文档要求还是比较高的、各类文档齐全,包括项目架构、项目安装、接口等文档,而数据库表结构说明文档亦属于其一。记得很早之前想找一个可以导出 MySQL 数据库表结构说明文档的工具,生态上的这种工具是有的、只不过并没有一个使我比较满足的。当然、看个人所需,我需要一个可以导出 markdown 文档的。

于是 mysql_markdown 就出现了、应用而生。它是一款基于 go 语言编写的一个命令行工具,适用于 LinuxMacWindows等平台。那么它可以做什么?他只有一个功能、就是生成数据库表结构说明文档,格式为markdown
mysql_markdown.github

asciicast]

安装

安装方式.1
# curl install
curl -fsSL "https://raw.githubusercontent.com/alicfeng/mysql_markdown/master/install" | sudo sh
安装方式.2
# build install
git clone https://github.com/alicfeng/mysql_markdown.git
cd mysql_markdown
go get "github.com/go-sql-driver/mysql"
go build -o /usr/local/bin/mysql_markdown mysql_markdown.go
chmod +x /usr/local/bin/mysql_markdown

使用

# 帮助函数
➜  mysql_markdown -h
flag needs an argument: -h
Usage: mysql_markdown [options...]
--help  This help text
-h      host.     default 127.0.0.1
-u      username. default root
-p      password. default root
-d      database. default mysql
-P      port.     default 3306
-c      charset.  default utf8
-o      output.   default current location

# 简单使用
➜ mysql_markdown -p samego -d samego
mysql connected ...
1/8 the demo table is making ...
2/8 the failed_jobs table is making ...
3/8 the migrations table is making ...
4/8 the password_resets table is making ...
5/8 the roles table is making ...
6/8 the user table is making ...
7/8 the userinfo table is making ...
8/8 the users table is making ...
mysql_markdown finished ...

md2anyDoc

md转其它类型的文档推荐使用 typora 工具 它支持如下转换格式

  • md2pdf
  • md2html
  • md2html(without styles)
  • md2word
  • md2rtf
  • md2openOffice
  • md2Epub
  • md2latex
  • md2MediaWiki
  • md2reStructureText
  • md2textile
  • md2OPML
  • md2png

文档页面效果

生成的MD文件

MySQL 表结构生成 Markdown 文档

MD文件转PDF

MySQL 表结构生成 Markdown 文档 | 工具篇

价值源于技术,贡献源于分享 | 笔记分享归档
No matter where I am, I will reply you immediately when I see the email.
My Email: echo "YUBzYW1lZ28uY29tCg==" | base64 -d
个人比较喜欢分享,若有不对的地方非常感谢指出
相互学习、共同进步~

本帖由系统于 3周前 自动加精
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 18
keer

感谢分享。 最近刚好做文档记录,可以使用一下。

3周前 评论

客气了~价值源于技术,技术源于分享!感谢使用 :smile:

3周前 评论

大佬威武,正好用的,差个眼回头试一下

3周前 评论

哈哈😄、共同学习😁

3周前 评论

曾经用PHP写了一个简单的通过 mysqldump 导出的文件生成 MD。现在有了这个工具就很棒了

3周前 评论

@悲剧不上演 :+1:、我之前也是。能达到目的就行、更好达到目的是追求 :smile:

3周前 评论

typora 这个导出类型挺多的,有命令行版本吗

3周前 评论

@lovecn 可以了解一下pandoc ,这个也是typora 插件

3周前 评论

感谢分享, Mark了

3周前 评论

@AlicFeng 可以导单张表吗

3周前 评论

支持下 :kissing_heart:,提个小问题哈,貌似只能完整的导库?

3周前 评论

@白纸 可以的、刚提交了,通过-t参数,即指定表导出,也支持多表,用英文逗号分隔

3周前 评论

@菜就多努力呀n @白纸 通过-t参数,支持指定表导出,用英文逗号分隔

3周前 评论

感谢分享 好心人

2周前 评论

你好,我遇到个问题,table is making ...
query table column scan error, detail is [sql: Scan error on column index 0, name "ORDINAL_POSITION": converting driver.Value type int64 ("128") to a int8: value out of range]
请问 有人遇到过么,这张表对宽度很大,有几百个字段,就报了这个错

2周前 评论

@ryan886 了解,类型长度越界了,修复好了再通知你😄。话说你的表真胖😄

2周前 评论

@PHPer 价值源于技术,技术源于分享😄

2周前 评论

@ryan886 已经修复了、重新安装即可~

2周前 评论

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!