# db2doc **Repository Path**: childrenMemory/db2doc ## Basic Information - **Project Name**: db2doc - **Description**: 基于sql快速生成markdown、html和word文档 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 10 - **Created**: 2022-01-11 - **Last Updated**: 2024-07-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 数据库文档工具 使用本工具可以基于 sql 快速生成 markdown、html和word文档 - 依赖h2 - 基于spring-boot2.1.3 - 基于https://gitee.com/rayson517/screw-pro 调整,增加了h2驱动 - 封装Docker,同时支持arm和x86架构 ### 使用方法 ### 下载源码并编译 ``` git clone https://gitee.com/fastjrun/db2doc.git cd db2doc mvn clean package -Pnocheck ``` target目录下生成db2doc.jar #### 部署 db2doc.jar,db2doc.sh部署到同一目录下,比如/opt ``` cd /opt sh db2doc.sh demo ./ word ``` #### 参数说明 - 第一个参数为数据库脚本文件名称(不带sql后缀),如示例sql脚本名称为demo.sql,则上述命令参数位置为demo - 第二个参数为数据目录,数据库脚本文件需要放在本目录,后续数据库文档也会生成在该目录 - 第三个为生成文档类型,可为html、word和md,可分别在数据目录下生成对应类型文档 #### docker部署 不想看源码的可以直接用这个docker镜像pi4k8s/db2doc:1.0,这个镜像不仅可以在一般x86服务器使用,也可以在树莓派4B上直接使用 ``` docker run --rm -v $(pwd):/opt/data/ -e DB_NAME=demo -e DATA_DIR=/opt/data/ -e DOC_TYPE=word pi4k8s/db2doc:1.0 ``` #### 参数说明 - DB_NAME:数据库脚本文件名称(不带sql后缀),如示例sql脚本名称为demo.sql,则上述命令参数位置为demo - DATA_DIR:数据目录,数据库脚本文件需要放在本目录,后续数据库文档也会生成在该目录 - DOC_TYPE:生成文档类型,可为html、word和md,可分别在数据目录下生成对应类型文档 ### 进阶用法 本工具封装了screw,这是一款号称数据库界的swagger的组件,感兴趣的同学可以看这里https://gitee.com/rayson517/screw-pro。 截止笔者制作本工具的时候,screw已经支持了包括MySQL/MariaDB/SqlServer/Oracle/PostgreSQL/TIDB/CacheDB在内的多种类型数据库的文档生成,笔者在screw基础上,增加了H2的支持。 所以除了H2外,其实它也支持直连MySQL/MariaDB/SqlServer/Oracle/PostgreSQL/TIDB/CacheDB等实时服务生成数据库文档,下面介绍一种直连Mysql数据库的用法,供各位同学参考。 #### 准备 1、准备配置文件:application.yml,文件内容如下 ```yaml spring: datasource: username: root password: root url: jdbc:mysql://cihost/jeecg-boot?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8 driver-class-name: com.mysql.cj.jdbc.Driver schema: fastjrun: db2doc: dataDir: /opt/data/ docType: html ignoreTableName: ${IGNORE_TABLE_NAME:aa,test_group} ignorePrefix: ${IGNORE_PREFIX:test_,example_} ignoreSuffix: ${IGNORE_SUFFIX:_test,+example} ``` 当前目录新建config目录,将application.yml放在config目录下。 2、准备驱动:如mysql-connector-java-8.0.13.jar 将mysql-connector-java-8.0.13.jar也放在config目录下 #### 执行 ```shell docker run --rm -v $(pwd)/config/:/opt/config/ -v $(pwd):/opt/data/ \ -e JVM_OPTS=-Xbootclasspath/a:/opt/config/mysql-connector-java-8.0.13.jar \ pi4k8s/db2doc:1.0 ````