[PDManer元数建模-4.0],历时四年,持续升级,工匠精神,做一款简单好用的数据库建模平台。元数建模平台,使用React+Electron+Java技术体系构建。[PDMan-v2] –> [CHINER-v3] –> [PDManer-v4],连续四年,产品一直保持很好的传承和延续。
- PDManer的故事
2018年初,因PowerDesigner对我们需求不能满足,也因为购买商业授权的不便利,我和几位社区好友,创立了一个松散的组织,用一个半月时时间完成了PDMan的1.0版本发布,解决了从无到有的问题。2018年5月,推出了PDMan第一个开源公开版,中间持续阶段性更新,直到2019年1月,不再更新。因前第一个版本时间仓促,设计考虑不充分,后续优化升级非常困难,我们于2019年12月,规划了另一个全新的版本。2019年底,我们不到三万块启动资金,启动创业,生存之难可以想像,当情怀遇上生存发展,饿着肚讲理想,真的很难。期间,我们团队几经折腾周转,数次濒临解散。幸得有好友关照,找了两个项目做,核心人员一分为二,一部分去杭州,另一部分在远走塞北,我们的吃饭问题暂时解决了。在此期间,产品停止更新,但是对产品的思考一直在持续,同时也结识了更多志趣相投的朋友加入,我们利用业余时间,完成了技术架构设计,界面原型设计,以及关键核心模块的开发编码。2021年7月17日,终于推出全新的3.0版本,为区别于PDMan2版本,因为一些特殊的原因,不得已而使用新名称,我们使用了[CHINER元数建模]作为新产品的名称,公开发行。
目前,每一天,有50000家以上的组织或个人在使用CHINER在设计他们的数据库。CHINER拼写虽然看上去比较协调,但是发音存在二义性,用户接受度不高,很多用户还是习惯叫他PDMan,在构建4.0版本时,我们想延续用户对PDMan的习惯,同时,也希望能够保留CHINER的某些记忆,英文名PDManer=PDMan+er(chiner的er部分,ER也表示关系图的意思),pdmaner也能表示物理模型设计人员的意思,同时,“元数建模”的中文名称依然延续,名称需要精简,同时又需要保持延续性,于是拿掉chi表示中国的前缀部分,使用中文能更加明确这是一个中国小团队的作品,因此4.0版本之后,产品名称:[PDManer元数建模]就此确定,承接了PDMan以及CHINER的所有功能,并且进行延续、精进。2022年4月17日,我们发布“PDManer元数建模-v4.0”版本,相对于3版本,我们增加了可定制的版本管理以及可定制的代码生成器(可生成Java,C#,等相关程序代码),一直被用户吐槽的mac版本下图标过大的问题,也一并解决了。PDManer产品,主要针对单机用户,我们会持续保持他的开源免费。
面向团队的版本,后续会逐步推出。
- 新版本4.0增加的功能
- 数据表版本管理,添加、更改、删除字段以及表信息后,会自动生成变更脚本。
- 代码生成器,目前支持Mybatis,MybatisPlus,C#,JavaJPA等几个常见语言,在完成表设计之后,可以自动生成增删改查相关代码,并且可生成至相关目录。
- 批量修改数据表名功能
- 用户可以自行添加或者编辑新的数据库模板,添加新的代码生成器
- MacOS下,修正了图标过大的问题
- 增加Hive的DDL生成的参考模板
- 批量调整及以修改数据表名
- 新版本4.0增加功能截图
3.1 版本管理
3.1.1 版本变更记录以及DDL脚本
3.1.2 版本变更脚本定制
3.2 代码生成
3.2.1 代码模板
3.2.2 生成预览
3.2.3 生成至目录
- 功能介绍
预览截图
4.1 入门参考案例以及文档
4.1.1 操作手册
手册地址:yuque.com/pdmaner/docs/pdmaner-manual
4.1.2 入门参考案例
首页自带两个典型参考案例,方便用户快速了解软件支持的功能以及特性。
4.2 管理对象
4.2.1 数据表及字段
提供简洁直观的数据表以及字段管理及操作,左侧列表支持拖动排序,数据表更多设置支持增加表备注,扩展属性列表,例如提供对Hive的支持。
4.2.2 多表关联的视图
视图由多个表结合而成,支持多表以及字段的选择。
4.2.3 可定制的数据类型及数据域
可扩展的数据类型,并且支持多种数据库方言的适配。
4.2.4 数据标准(字段库)
标准字段库用于解决常用字段记录,方便用户建立数据表时,能够从常用字段库里直接拖入数据表中。标准字段库可以用户自行添加,也可以从现有数据表中移到标准字段库中。
标准字段库支持导出JSON文件,也支持从JSON文件中导入,以解决共享交流问题。
4.2.5 数据字典(代码映射表)
增加了数据字典支持,用于解决对字段元数据更清晰的解析阐述。
数据字典导出SQL,如下图所示:
4.3 多模块模式以及不分模块模式
简单项目,不需要分模块,直接分为数据表,视图,关系图,数据字典即可,复杂项目需要折分为一个一个独立的模块,系统对这两种形式均给予支持。
简单模式,如下图:
分模块形式,如下图:
4.4 关系图
4.4.1 ER关联关系图
数据实体关联关系图,该关联关系图需要人工手动维护。
4.4.2 简单的概念模型图
支持简单的概念模型图,概念模型图实体只保存在关系图上,不保持实体对象。
概念模型图,主要用于快速勾勒系统的关键业务对象关系图,用于快速整体理解数据模型。
4.4.3 同一模块多张关系图
4.5 画布设计界面
4.5.1 分组框及以备注框
分组框,用于对数据表或者实体进行分类,能够更清晰的了解数据表的层次结构。
4.5.2 文字以及背景颜色设置
备注框,为普通矩形框,用于对数据表或者业务场景进行解释说明。
4.6 代码模板
4.6.1 不同数据库方言的DDL
通过代码模板引擎,实现可扩展的数据库方言支持。
MySQL:
PostgreSQL:
ORACLE:
SQLServer:
4.6.2 扩展属性支持类似Hive
4.6.3 JavaBean代码生成
4.6.4 可定制化可编辑的代码模板引擎
代码模板引擎基于doT.js构建。
提供代码预览编辑,以便能够及时预览代码模板的效果。
4.7 生态对接-导入
4.7.1 数据库逆向
连接数据库,逆向解析数据库,支持数据库中文注释的解析。
连接数据库,如下图:
解析数据列表清单,如下图:
解析数据表结果,如下图:
4.7.2 导入PDMan文件
支持PDMan的导入,支持数据表,关系图,数据域的高度还原。
导入列表选择,如下图:
导入后结果,如下图:
PDMan原始情况,如下图:
4.7.3 导入PowerDesigner文件
导入PowerDesigner,支持数据表,数据域的高度还原(不支持关系图还原)。
数据表选择,如下图:
最终导入后结果,如下图:
4.8 生态对接-导出
4.8.1 导出DDL
导出DDL,用于解决一次性导出指定数据表,针对指定数据库方言的导出。
4.8.2 导出WORD文档及模板可定制
将当前数据表,关系图,数据字典导出至WORD文档。
导出结果,如下图:
4.8.3 关系图导出图片
实现将当前画布的关系图,导出为PNG图片。
- 全局搜索及定位
字段及关键字,数据字典等的全局搜索。