mysql_markdown mysql表结构生成工具

mysql_markdown

mysql_markdown 基于 go 语言编写的一个命令行工具,适用于 Linux、Mac、Windows 等平台,根据数据库表快速生成 markdown 说明文档

最终导出效果:

转换 markdown 文档

markdown 转 docs 文档

mysql_markdown 可执行文件已上传到 CDN,直接下载即可:

mysql_markdown_windows 下载

也可以直接 clone 项目下来,执行 build 生成可执行文件,不过需要 go 环境

git clone https://github.com/alicfeng/mysql_markdown.git
cd mysql_markdown
go get "github.com/go-sql-driver/mysql"
go build

github 地址: mysql_markdown

生成 markdown 文档

  1. 切换到 mysql_markdown.exe 所在目录
cd mysql-markdown
  1. 执行导出
  • -h: host
  • -P: 端口
  • -u: 用户名
  • -p: 密码
  • -d: 数据库名
  • -t: 数据表名

导出整个 ry 数据库

./mysql_markdown -h localhost -P 3306 -u root -p root -d ry

导出 ry 数据库 的 sys_user

./mysql_markdown -h localhost -P 3306 -u root -p root -d ry -t sys_user

生成 docs 文档

  1. 新建 template.html 模板并设置样式
<!-- template.html -->
<style>
  *,
  body {
    margin: 0;
  }

  table {
    border-collapse: collapse;
  }
  th,
  td {
    border: 1px solid #000000;
    padding: 5px;
  }
</style>

<body>
  replace_area
</body>
  1. 新建 app.js
// app.js
const fs = require("fs");
const { marked } = require("marked");

const templateFile = fs.readFileSync("template.html"); // html模板,定义表格样式扥
const mdFile = fs.readFileSync("ry_20221218_015837.md"); // 读取 md 文件

console.log("----正在转换...");

const mdStr = mdFile.toString();
const mdToHtmlStr = marked(mdStr);
const content = templateFile.toString().replace("replace_area", mdToHtmlStr);

console.log("准备写入文件");

fs.writeFile("output.doc", content, (err) => {
  if (err) {
    console.error(err);
  }
  console.log("数据写入成功!");
});
  1. 安装依赖

新建 package.json 文件

{
  "name": "mysql_markdown",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "fs": "0.0.1-security",
    "marked": "^4.2.4"
  }
}

安装依赖

npm i
  1. 执行 app.js
node app.js