目录
一、PDManer的故事
2018 年初,因 PowerDesigner 对 PDManer 创始人所在开发团队的需求不能满足,也因为购买商业授权的不便利,便创立了一个松散的组织,用一个半月时时间完成了 PDMan 的 1.0 版本发布,解决了从无到有的问题。
2018 年 5 月,推出了 PDMan 第一个开源公开版,中间持续阶段性更新,直到 2019 年 1 月,不再更新。
因前第一个版本时间仓促,设计考虑不充分,PDMan后续优化升级非常困难,因此于 2019 年 12 月,规划了另一个全新的版本。
2019 年底,PDMan创始团队不到三万块启动资金,启动创业,生存之难可以想像,当情怀遇上生存发展,饿着肚讲理想,真的很难。期间,团队几经折腾周转,数次濒临解散。幸得创始人好友关照,找了两个项目做,核心人员一分为二,一部分去杭州,另一部分在远走塞北,吃饭问题暂时解决。
在此期间,产品停止更新,但是对产品的思考一直在持续,同时也结识了更多志趣相投的朋友加入,团队利用业余时间,完成了技术架构设计,界面原型设计,以及关键核心模块的开发编码。
2021 年 7 月 17 日,终于推出全新的 3.0 版本,为区别于 PDMan2 版本,因为一些特殊的原因,不得已而使用新名称,使用了 [CHINER 元数建模] 作为新产品的名称,公开发行。
目前,每一天,有 50000 家以上的组织或个人在使用 CHINER 在设计自己的数据库。
CHINER 拼写虽然看上去比较协调,但是发音存在二义性,用户接受度不高,很多用户还是习惯叫他 PDMan,在构建 4.0 版本时,创始团队想延续用户对 PDMan 的习惯,同时,也希望能够保留 CHINER 的某些记忆,英文名 PDManer=PDMan+er (chiner 的 er 部分,ER 也表示关系图的意思),“元数建模” 的中文名称依然延续,名称需要精简,拿掉 chi 表示中国的前缀部分,使用中文能更加明确这是一个中国小团队的作品,因此 4.0 版本之后,产品名称:[PDManer 元数建模] 就此确定,承接了 PDMan 以及 CHINER 的所有功能,并且进行延续、精进。
2022 年 4 月 17 日,发布 “PDManer 元数建模 - v4.0” 版本,相对于 3 版本,增加了可定制的版本管理以及可定制的代码生成器(可生成 Java,C#,等相关程序代码),一直被用户吐槽的 mac 版本下图标过大的问题,也一并解决了。
PDManer 产品,主要针对单机用户会持续保持他的开源免费。面向团队的版本,后续会逐步推出。
二、PDManer介绍
PDManer元数建模,是一款多操作系统开源免费的桌面版关系数据库模型建模工具,相对于PowerDesigner,他具备界面简洁美观,操作简单,上手容易等特点。支持Windows,Mac,Linux等操作系统,也能够支持国产操作系统,能够支持的数据库如下:
-
MySQL,PostgreSQL,Oracle,SQLServer等常见数据库
-
支持达梦,GuassDB等国产数据库
-
支持Hive,MaxCompute等大数据方向的数据库
-
用户还可以自行添加更多的数据库扩展
PDManer 基于 ES6+React+Electron+Java 开发构建
三、主要功能
2.1. 数据表管理
数据表,字段,注释,索引等基本功能
2.2. 视图管理
实现选择多张表多个字段后,组合一个新的视图对象,视图可生成DDL以及相关程序代码,例如Java的DTO等
2.3. ER关系图
数据表可绘制ER关系图至画布,也支持概念模型等高阶抽像设计
ER 图
逻辑模型图
思维导图
流程图

2.4. 数据字典
代码映射表管理,例如1表示男,2表示女,并且实现数据字典与数据表字段的关联

2.5. 数据类型
系统实现了基础数据类型,基础数据类型在不同数据库下表现为不同数据库类型的方言,这是实现多数据**库支持的基础,为更贴近业务,引入了PowerDesigner的数据域这一概念,用于统一同一类具有同样业务属性字段的批量设置类型,长度等。基础数据类型以及数据域,用户均可自行添加,自行定义。

2.6. 多数据库
内置主流常见数据库,如MySQL,PostgreSQL,SQLServer,Oracle等,并且支持用户自行添加新的数据库。通过该功能,我们在日常开发中涉及到数据库SQL的转换时,将非常方便,规避了大量数据库间SQL语法转换的工作量。

2.7. 代码生成
内置Java,Mybatis,MyBatisPlus等常规情况下Controller,Service,Mapper的生成,也添加了C#语言支持,可自行扩展对其他语言的支持,如Python等
2.8. 生态对接
能够导入PowerDesigner的pdm文件,老版本的PDMan文件,也能导出为word文档,导出相关设置等
2.9. 版本管理
实现数据表的版本管理,可生成增量DDL脚本
2.10. 数据库代码规范检查
支持数据库表字段、表名、索引等的命名规范、长度校验等,且支持自定义规则。