使用shell脚本生成数据库markdown文档

学习shell脚本编程的一次实践,通过shell脚本生成数据库的markdown文档,代码如下:

 HOST=xxxxxx
 PORT=xxxx
 USER="xxxxx"
 PASSWORD="xxxxxx"
 DATABASE_PREFIX="xxxxxx"

 QUERY_DATABASE="select distinct TABLE_SCHEMA from information_schema.TABLES where TABLE_TYPE='BASE TABLE'"
 databaseList=$(mysql -h ${HOST} -u ${USER} -p${PASSWORD} -e "${QUERY_DATABASE}")

 for database in ${databaseList}
 do
     if [[ ${database} == *${DATABASE_PREFIX}* ]]
     then
         echo "Start ${database}"
         echo "### ${database}" >> test.md
         queryTable="select  distinct TABLE_NAME from information_schema.COLUMNS where TABLE_SCHEMA='${database}'"
         tableList=$(mysql -h ${HOST} -u ${USER} -p${PASSWORD} -N -e "${queryTable}")
         for table in ${tableList}
         do

             if [ $(grep -c "#### ${table%_*}_0" test.md) -ne '0' ]
             then
                 continue
             fi

             echo "Start print table:${table}"
             echo "#### ${table}" >> test.md
             echo "名称 | 类型 | 是否可为空 | Key | 说明" >> test.md
             echo "--|--|--|--|--" >> test.md
             queryCloumns="select COLUMN_NAME, replace(COLUMN_TYPE,' ',''),IS_NULLABLE,CONCAT(COLUMN_KEY,'+++++++++'),CONCAT(replace(COLUMN_COMMENT,' ',''),'+++++++++') from information_schema.COLUMNS where TABLE_NAME='${table}' and TABLE_SCHEMA='${database}' order by ORDINAL_POSITION"

             columnList=$(mysql -h ${HOST} -u ${USER} -p${PASSWORD} -N -e "${queryCloumns}")
             count=0
             row=""
              for column in ${columnList}
              do
                  row="${row} ${column} | "

                  let count++
                  if [[ ${count} == 5 ]]
                  then
                      echo ${row} >> test.md
                      count=0
                      row=""
                  fi
              done
          done

      fi
  done

原文地址:https://www.cnblogs.com/vitasyuan/p/9650643.html

时间: 2024-08-23 12:31:56

使用shell脚本生成数据库markdown文档的相关文章

用PDMReader工具生成数据库设计文档(转载)

来源:http://blog.csdn.net/xinglun88/article/details/19987719 第一步:下载并安装PDMReader,资源网站: http://www.pdmreader.com/ 第二步:打开PDMReader,新建项目:test: 第三步:在项目test点击右键,选择"导入数据字典",然后点击"导入PDM"图标(点击图标而不是文字),系统打开选择pdm文件对话框: 第四步:在项目test下选中你的pdm文件,在右面会出现所有

优于 swagger 的 java markdown 文档生成框架-01-入门使用

设计初衷 节约时间 Java 文档一直是一个大问题. 很多项目不写文档,即使写文档,对于开发人员来说也是非常痛苦的. 不写文档的缺点自不用多少,手动写文档的缺点也显而易见: 非常浪费时间,而且会出错. 无法保证及时更新.代码已经变了,但是文档还要同步修改.需要强制人来维护这一种一致性.这很难. 为什么不是 swagger-ui java 的文档有几类: jdk 自带的 doc 生成.这个以前实践给别人用过,别人用 C#,看到 java 的默认文档感觉很痛苦. 就算是我们 java 开发者,也很讨

Markdown 文档生成工具

之前用了很多Markdown 文档生成工具,发现有几个挺好用的,现在整理出来,方便大家快速学习. loppo: 非常简单的静态站点生成器 idoc:简单的文档生成工具 gitbook:大名鼎鼎的文档协作工具 docsify:一个神奇的文档站点生成器,简单轻巧,无需静态构建html 教程版: http://me.52fhy.com/learn-markdown-generate-tool/#/ loppo 官网: https://github.com/ruanyf/loppo 依赖 node.js

vscode使用Markdown文档编写

VScode已经默认集成markdown文档编辑插件.可以新建一个.md文件Visual Studio Code 原生就支持高亮Markdown的语法,想要一边编辑一遍预览,有两种方法:1.Ctrl + Shift + P 调出主命令框,输入 Markdown,应该会匹配到几项 Markdown相关命令 2.先按Ctrl + K,然后放掉,紧接着再按 v,也能调出实时预览框.[要在英文输入状态下] 附录:markdown语法: 1.标题 代码 注:# 后面保持空格 # h1 ## h2 ###

MyEclipse生成java API文档

API文档是提供接口是必须的,如果用word文档,不仅书写起来很麻烦,而且对于使用者来说很不方便.可以使用myEclipse来生成API文档,与java提供的官方API文档一样.一下是详细步骤. /**  * 数据库操作通用程序包  */ package xju.dbhelper; import java.sql.*; /**  * 数据库操作通用接口  * @author xju  * @version 1.0  */ public abstract interface DBHelper {

利用Swagger Maven Plugin生成Rest API文档

利用Swagger Maven Plugin生成Rest API文档 Swagger Maven Plugin This plugin enables your Swagger-annotated project to generate Swagger specs and customizable, templated static documents during the maven build phase. Unlike swagger-core, swagger-maven-plugin

shell脚本+mysql数据库组合进行数据安全监控

shell脚本 + mysql数据库 实现企业级会话边界控制器文件解析并告警 dirsx30001.sh处理文件,生成mysql备份文件的方式进行导入 #/bin/bash ##环境变量 path=/home/sbclog/sx30001 ##由于抓取的日志文件中没有年份参数,故导入系统年份参数,以达到数据库时间字段datetime ##也可以抓取tar包的名字中的字段 date_year=`date|cut -c 25-` #test ! -e $path/*.tar &&echo &q

数据字典生成工具之旅(2):数据字典生成工具及文档工具作用介绍

上一篇介绍完了整个架构和功能,这一篇将更加详细介绍功能和操作,将会以实际例子帮助理解!(预告:下一篇正式进入实现原理讲解) 阅读目录 开始使用工具 工具全景图 工具源代码下载 学习使用 回到顶部 开始使用工具 日常工作你是通过什么工具来创建表的呢? 1.通过SqlServer自带的新建表的功能实现,或者直接写Create Table(.....)语句.能更加便捷的方式创建吗?这样创建的表便于后续维护和学习吗? 2.通过PowerDesign创建表,很直观,然后导出表的创建语句.模拟一下做学生信息

使用vs code编写Markdown文档以及markdown语法详解

目录 首先安装vscode工具,下载地址如下: https://code.visualstudio.com/ 在vs code的扩展中安装: Markdown Preview Enhanced 这款插件,安装完成重新加载即可生效 新建一个.md文件 Visual Studio Code 原生就支持高亮Markdown的语法,想要一边编辑一遍预览,有两种方法: 3.1. Ctrl + Shift + P 调出主命令框,输入 Markdown,应该会匹配到几项 Markdown相关命令 2.2. 先