postgre 生成数据库html文档_还在手动整理数据库文档?试试这个工具
简介
在企业级开发中、我们经常会有编写数据库表结构文档的时间付出,从业以来,待过几家企业,关于数据库表结构文档状态:要么没有、要么有、但都是手写、后期运维开发,需要手动进行维护到文档中,很是繁琐、如果忘记一次维护、就会给以后工作造成很多困扰、无形中制造了很多坑留给自己和后人,于是需要一个插件工具screw[1]来维护。
screw 特点
- 简洁、轻量、设计良好。不需要 powerdesigner 这种重量的建模工具
- 多数据库支持 。支持市面常见的数据库类型 MySQL、Oracle、SqlServer
- 多种格式文档。支持 MD、HTML、WORD 格式
- 灵活扩展。支持用户自定义模板和展示样式
支持数据库类型
- [✔️] MySQL
- [✔️] MariaDB
- [✔️] TIDB
- [✔️] Oracle
- [✔️] SqlServer
- [✔️] PostgreSQL
- [✔️] Cache DB
依赖
这里以 mysql8 数据库为例子
<dependency> <groupId>cn.smallbun.screwgroupId> <artifactId>screw-coreartifactId> <version>1.0.2version> dependency>
<dependency> <groupId>com.zaxxergroupId> <artifactId>HikariCPartifactId> <version>3.4.5version> dependency>
<dependency> <groupId>mysqlgroupId> <artifactId>mysql-connector-javaartifactId> <version>8.0.20version> dependency>
1. 通过自定义代码配置文档生成
@Testpublic void shouldAnswerWithTrue() { //数据源 HikariConfig hikariConfig = new HikariConfig(); hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver"); hikariConfig.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/test"); hikariConfig.setUsername("root"); hikariConfig.setPassword("root"); //设置可以获取tables remarks信息 hikariConfig.addDataSourceProperty("useInformationSchema", "true"); hikariConfig.setMinimumIdle(2); hikariConfig.setMaximumPoolSize(5); DataSource dataSource = new HikariDataSource(hikariConfig); //生成配置 EngineConfig engineConfig = EngineConfig.builder() //生成文件路径 .fileOutputDir("/Users/lengleng") //打开目录 .openOutputDir(true) //文件类型 .fileType(EngineFileType.HTML) //生成模板实现 .produceType(EngineTemplateType.freemarker).build();
//忽略表 ArrayList ignoreTableName = new ArrayList<>(); ignoreTableName.add("test_user"); ignoreTableName.add("test_group"); //忽略表前缀 ArrayList ignorePrefix = new ArrayList<>(); ignorePrefix.add("test_"); //忽略表后缀 ArrayList ignoreSuffix = new ArrayList<>(); ignoreSuffix.add("_test"); ProcessConfig processConfig = ProcessConfig.builder() //忽略表名 .ignoreTableName(ignoreTableName) //忽略表前缀 .ignoreTablePrefix(ignorePrefix) //忽略表后缀 .ignoreTableSuffix(ignoreSuffix).build(); //配置 Configuration config = Configuration.builder() //版本 .version("1.0.0") //描述 .description("数据库设计文档生成") //数据源 .dataSource(dataSource) //生成配置 .engineConfig(engineConfig) //生成配置 .produceConfig(processConfig).build(); //执行生成 new DocumentationExecute(config).execute();}
2. 通过插件的形式生成文档
<build> <plugins> <plugin> <groupId>cn.smallbun.screwgroupId> <artifactId>screw-maven-pluginartifactId> <version>1.0.2version> <dependencies>
<dependency> <groupId>com.zaxxergroupId> <artifactId>HikariCPartifactId> <version>3.4.5version> dependency>
<dependency> <groupId>mysqlgroupId> <artifactId>mysql-connector-javaartifactId> <version>8.0.20version> dependency> dependencies> <configuration>
<username>rootusername>
<password>rootpassword>
<driverClassName>com.mysql.cj.jdbc.DriverdriverClassName>
<jdbcUrl>jdbc:mysql://127.0.0.1:3306/testjdbcUrl>
<fileType>HTMLfileType>
<fileOutputDir>/Users/lenglengfileOutputDir>
<openOutputDir>falseopenOutputDir>
<produceType>freemarkerproduceType>
<description>数据库文档生成description>
<version>${project.version}version>
<title>数据库文档title> configuration> <executions> <execution> <phase>compilephase> <goals> <goal>rungoal> goals> execution> executions> plugin> plugins>build>
Reference
[1]
screw: https://gitee.com/leshalv/screw
postgre 生成数据库html文档_还在手动整理数据库文档?试试这个工具相关推荐
- postgre 生成数据库html文档_还在手动整理数据库文档?试试这个(螺丝钉)数据库文档生成工具...
简介 在企业级开发中.我们经常会有编写数据库表结构文档的时间付出,从业以来,待过几家企业,关于数据库表结构文档状态:要么没有.要么有.但都是手写.后期运维开发,需要手动进行维护到文档中,很是繁琐.如果 ...
- mycat 分表子查询_还不懂MyCat?一文带你深入剖析,实现MySQL读写分离
前言 系统开发中,数据库是非常重要的一个点.除了程序的本身的优化,如:SQL语句优化.代码优化,数据库的处理本身优化也是非常重要的.主从.热备.分表分库等都是系统发展迟早会遇到的技术问题问题.Myca ...
- 现在好用的mysql客户端_还在用 Navicat 的,可以试试这几款免费且好用的 MySQL 客户端...
没别的意思,今天就是为了给你推荐几款 MySQL 客户端,这几款客户端有一个共通点,那就是好用而且免费. "害,我看也就是平平无奇嘛!" 然后,转身赶紧下载体验一下. 哪个做开发的 ...
- navicat保存查询语句_还在用 Navicat 的,可以试试这几款免费且好用的 MySQL 客户端...
没别的意思,今天就是为了给你推荐几款 MySQL 客户端,这几款客户端有一个共通点,那就是好用而且免费. "害,我看也就是平平无奇嘛!" 然后,转身赶紧下载体验一下. 哪个做开发的 ...
- java非主流火星文输入法_App Store 上的“火星文键盘-抽象话非主流输入法”...
火星文键盘是一款的炫酷的火星文输入法.你不仅可以方便地输入火星文,并且还可以乱序文字,转换抽象话.未来也会更新聊天室等更多炫酷功能. 用户需要先使用其他输入法,或者系统内置的语音输入,输入想要转换的文 ...
- 阿里云查看mysql数据库密码是多少_阿里云服务器查看数据库密码是多少
全网最新活动请看下方内容或右侧内容! --------------- 阿里云服务器查看数据库密码是多少,阿里云开源数据库. 在阿里云ecs云服务器上部署数据库后,在平常的操作中可能会遇到些问题,可以先 ...
- java 最长回文串_通俗易懂的最长回文串图解、说明及Java代码(中心扩散法和Manacher算法)...
1. 回文串 作为程序员,回文串这个词已经见怪不怪了,就是一个字符串正着读和反着读是一样的,形式如abcdcba.bbaabb.这里涉及到奇回文和偶回文,奇回文指回文串的字符数是奇数,偶回文指回文串的 ...
- mysql数据库查询源码_超简单php mysql数据库查询类
本文章为你免费提供一款漂亮的超简单php mysql数据库查询类哦 */ class Config{ private $host; //主机名称:一般是localhost private $root; ...
- pg数据库执行sql文件_在linux中Postgresql数据库如何执行脚本文件
在linux中Postgresql数据库如何恢复数据库?执行sql脚本文件呢?具体步骤如下: 一.恢复数据库备份文件 1.将数据库备份文件xxx.backup用连接工具拷贝到/opt下,这个不固定,位 ...
最新文章
- MySQL 的 Binlog 日志处理工具(Canal/Maxwell/Databus/DTS)对比
- 深入探究 RocketMQ 事务机制的实现流程,为什么它能做到发送消息零丢失?
- CDE桌面环境中自动启动应用程序图形界面
- python中json模块博客园_python的json模块
- 服务器显示AL024是什么意思,中牟县家具木工机械维修台达驱动器al024故障分分钟修复...
- Lesson 31-32 Personal Habits
- 加油python_力扣——gas station (加油站) python实现
- 散文绘画集《心欢喜,灵快乐》研讨会在京举行
- sql中获取当前时间
- Froala Editor 4.0.11 Crack
- 计算机应届生月薪大多是多少?
- 请你预想一下量子计算机未来,直播,研究量子计算机的我被曝光了
- BBR: Congestion-based congestion control
- 第1130期AI100_机器学习日报(2017-10-22)
- OBS插件开发以及OBS插件的选择(obs直播插件)
- KT148A语音芯片SOP外挂功放芯片8002D的说明_V1
- PAKDD 2019 都有哪些重要看点?看这篇文章就够了!
- 领航未来,2022 世界人工智能大会「元宇宙的数字原生进化」论坛等你来!
- vue Element
- 基于深度学习的视觉应用,我们也可以开发哦!