前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用shell脚本生成数据库markdown文档

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

作者头像
代码改变世界-coding
发布2018-09-27 15:47:11
8660
发布2018-09-27 15:47:11
举报
文章被收录于专栏:java相关java相关

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

代码语言:javascript
复制
 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
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-09-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档