【Screw】数据库表结构文档工具操作
需求
在交付型项目中,往往需要大量的数据库设计文档的编写,手动写总有遗漏或者更新不及时的问题,一个项目可能设计到的表几百上千张,手动去敲肯定会是一件劳民伤财的事儿,那么有什么工具可以直接堆数据库中现有的表进行汇总并输出相应的文档呢?
介绍
screw,原意螺丝钉,是一个简洁好用的数据库表结构文档生成工具,是gitee上的基于java开发的开源项目。
使用方式
官方介绍的使用方式有两种:
连接:https://gitee.com/leshalv/screw
- 普通方式 - 代码实现文档生产
- Maven 插件 - 引入插件,通过maven命令生成文档
1. 代码方式
注意:代码的方式导出Mysql,Oracle等数据库没有问题,但是***导出PG库的相关表结构信息,建议使用方式2,Maven插件的方式***。
1.1 创建spring工程,并且选择SQL依赖的JDBC API
1.2 配置application.properties配置
spring.datasource.url=jdbc:postgresql://${
PG_IP}:5432/metaspace_test?currentSchema=public&useUnicode=true&characterEncoding=UTF8
spring.datasource.username=postgres
spring.datasource.password=postgres
spring.datasource.driver-class-name=org.postgresql.Driver
#按照码云文档说明: MySQL数据库表和列字段有说明、生成文档没有说明
spring.datasource.xa.properties.userInformationSchema= true
1.3 添加依赖
<dependency>
<groupId>cn.smallbun.screw</groupId>
<artifactId>screw-core</artifactId>
<version>${lastVersion}</version>
</dependency>
1.4 编写测试代码
import cn.smallbun.screw.core.Configuration;
import cn.smallbun.screw.core.engine.EngineConfig;
import cn.smallbun.screw.core.engine.EngineFileType;
import cn.smallbun.screw.core.engine.EngineTemplateType;
import cn.smallbun.screw.core.execute.DocumentationExecute;
import cn.smallbun.screw.core.process.ProcessConfig;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org