赞
踩
今天项目经理让我导出DM8 数据库说明文档,我立刻想到了数据库文档生成工具(screw-钉子),我立刻添加相关maven 依赖,编写junit 单元代码。但是执行的结果让我很沮丧。
相关依赖和Junit 单元代码
- <!-- 自动生成数据库文档-->
- <dependency>
- <groupId>cn.smallbun.screw</groupId>
- <artifactId>screw-core</artifactId>
- <version>1.0.5</version>
- </dependency>
- <dependency>
- <groupId>org.freemarker</groupId>
- <artifactId>freemarker</artifactId>
- <version>2.3.30</version>
- </dependency>
- <dependency>
- <groupId>com.zaxxer</groupId>
- <artifactId>HikariCP</artifactId>
- <version>3.4.5</version>
- </dependency>
- package com.zzg;
-
- import java.sql.SQLException;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
-
- import javax.sql.DataSource;
-
- import org.junit.Test;
- import org.springframework.boot.test.context.SpringBootTest;
-
- import com.zaxxer.hikari.HikariConfig;
- import com.zaxxer.hikari.HikariDataSource;
-
- 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;
-
- @SpringBootTest
- public class ScrewApplicationTests {
-
-
- @Test
- public void contextLoads() throws SQLException {
- // 数据源
- HikariConfig hikariConfig = new HikariConfig();
- hikariConfig.setDriverClassName("dm.jdbc.driver.DmDriver");
- hikariConfig.setJdbcUrl("jdbc:dm://192.168.0.1:5256/SYSDBA");
- hikariConfig.setUsername("SYSDBA");
- hikariConfig.setPassword("SYSDBA");
- //设置能够获取tables remarks信息
-
- DataSource dataSource = new HikariDataSource(hikariConfig);
-
-
- // 生成文件配置
- EngineConfig engineConfig = EngineConfig.builder()
- // 生成文件路径。与官方的例子不同,我是win10系统,就先放E盘根目录吧。
- .fileOutputDir("E://")
- // 打开目录
- .openOutputDir(false)
- // 文件类型
- .fileType(EngineFileType.HTML)
- // 生成模板实现
- .produceType(EngineTemplateType.freemarker).build();
-
- // 生成文档配置(包含以下自定义版本号、描述等配置连接),文档名称拼接:数据库名_描述_版本.扩展名
- Configuration config = Configuration.builder()
- .version("1.0.3") // 版本
- .description("统数据库设计文档") // 描述
- .dataSource(dataSource) // 数据源
- .engineConfig(engineConfig) // 模板引擎配置
- .produceConfig(getProcessConfig()) // 加载配置:想要生成的表、想要忽略的表
- .build();
- // 执行生成
- new DocumentationExecute(config).execute();
- }
-
- /**
- * 配置想要生成的表+ 配置想要忽略的表
- *
- * @return 生成表配置
- */
- public static ProcessConfig getProcessConfig() {
- // 忽略表名
- List<String> ignoreTableName = Arrays.asList();
- // 忽略表前缀,如忽略a开头的数据库表
- List<String> ignorePrefix = Arrays.asList();
- // 忽略表后缀
- List<String> ignoreSuffix = Arrays.asList();
-
- return ProcessConfig.builder()
- //根据名称指定表生成
- .designatedTableName(new ArrayList<>())
- //根据表前缀生成
- .designatedTablePrefix(new ArrayList<>())
- //根据表后缀生成
- .designatedTableSuffix(new ArrayList<>())
- //忽略表名
- .ignoreTableName(ignoreTableName)
- //忽略表前缀
- .ignoreTablePrefix(ignorePrefix)
- //忽略表后缀
- .ignoreTableSuffix(ignoreSuffix).build();
- }
-
- }
Junit 单元测试结果:
结论:钉子不支持DM8 数据库文档生成。
曲线办法:基于DM8数据库SQL脚本生成PowerDesigner ER 图,再通过文档模板将ER 图导出数据库说明文档。
1、选择需要生成er图的数据库右击,进行模式对象导出,根据需要选择库,然后导出sql文件到本地,如下所示:
1、 打开powerdesigner,选择 File --> ReverseEngineer --> 选择 Database。
2、 选择数据库类型,选择oracle11g。
3、 然后选择使用脚本文件,选择以及导出的脚本。
4、 点击完成,就会生成对应的er模型图
1、PowerDesigner 文档模板下载:
- 链接:https://pan.baidu.com/s/16cVdfIWSW78YqOPcDJnNsw
- 提取码:1234
2.点击Report-->Reports templates 进入Report模版页面
点击最右边的 文件夹图标,进入选择页面,找到我们下载的模版文件(我的在左面,数据看文档文件夹,到文件夹那一层就好),选好以后点击'确定',然后再点击'close'关闭
5.选择生成 RTF, 设置为简体中文.
自此完成,DM8 数据库文档生成。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。