# PDManer **Repository Path**: starcode000/pdmaner ## Basic Information - **Project Name**: PDManer - **Description**: pdmaner的分叉版本,优化了代码编辑器 - **Primary Language**: Unknown - **License**: MulanPubL-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2025-08-12 - **Last Updated**: 2025-12-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: PDManer ## README # 一、软件介绍 PDManer元数建模,是一款多操作系统开源免费的桌面版关系数据库模型建模工具,相对于PowerDesigner,他具备界面简洁美观,操作简单,上手容易等特点。支持Windows,Mac,Linux等操作系统,也能够支持国产操作系统,能够支持的数据库如下: - MySQL,PostgreSQL,Oracle,SQLServer等常见数据库 - 支持达梦,GuassDB等国产数据库 - 支持Hive,MaxCompute等大数据方向的数据库 - 用户还可以自行添加更多的数据库扩展 ### 本仓库是对[PDManer原仓库](https://gitee.com/robergroup/pdmaner)的Fork 由于原仓库不再更新,而且本人对PDMaas的代码编辑器不太习惯,因此就自己修改代码,优化软件的使用体验 # 二、PDManer元数建模,主要功能如下 **数据表管理:** 数据表,字段,注释,索引等基本功能 **视图管理:** 实现选择多张表多个字段后,组合一个新的视图对象,视图可生成DDL以及相关程序代码,例如Java的DTO等 **ER关系图:** 数据表可绘制ER关系图至画布,也支持概念模型等高阶抽像设计 **数据字典:** 代码映射表管理,例如1表示男,2表示女,并且实现数据字典与数据表字段的关联 **数据类型:** 系统实现了基础数据类型,基础数据类型在不同数据库下表现为不同数据库类型的方言,这是实现多数据**库支持的基础,为更贴近业务,引入了PowerDesigner的数据域这一概念,用于统一同一类具有同样业务属性字段的批量设置类型,长度等。基础数据类型以及数据域,用户均可自行添加,自行定义。 **多数据库:** 内置主流常见数据库,如MySQL,PostgreSQL,SQLServer,Oracle等,并且支持用户自行添加新的数据库。 **代码生成:** 内置Java,Mybatis,MyBatisPlus等常规情况下Controller,Service,Mapper的生成,也添加了C#语言支持,可自行扩展对其他语言的支持,如Python等 **版本管理:** 实现数据表的版本管理,可生成增量DDL脚本 **生态对接:** 能够导入PowerDesigner的pdm文件,老版本的PDMan文件,也能导出为word文档,导出相关设置等 **云存档:** 可以连接服务器,在云端保存项目数据,防止因重装系统或硬盘损坏等丢失项目文件的情况。目前此功能尚未完善。 **doT.js模板语法高亮:** PDManer中代码模板引擎使用doT.js,但是其evaluate语法和Vue的插值语法冲突。因此项目中使用了自定义的evaluate分隔符。在[[% 和 %]]之间的被视为evaluate语句,其他语法尽可能保持不变,但实测define语法有些小问题。 # 三、原版软件下载 [https://gitee.com/robergroup/pdmaner/releases](https://gitee.com/robergroup/pdmaner/releases) # 四、fork的主要变化 1. **代码生成器优化。** 使用Monaco编辑器替换了原有的CodeMirror,更加接近使用VS Code的体验。此外,增加了doT.js语法的高亮,更方便用户编写模板。代码编辑器会自动推断代码内容可能是属于哪一种语言,并据此应用对应的语法高亮方案(支持json,Java,JavaScript、Python、XML等)。 2. **整体样式和交互效果优化。** 现在软件样式与原本有了些许差异,但是用户体验变得更好了。 3. **新增项目级代码模板路径、保存目录和nameSpace设置** 4. **提供了项目数据文件从原PDManer迁移至匹配本项目格式的脚本命令** 5. **更新了React以及其他许多依赖的版本** 6. **使用pnpm作为包管理器。**`pnpm setup`一键安装依赖(`pnpm install`也行,就是需要配置一下electron镜像),`pnpm dev`启动开发环境,`pnpm package`自动打包当前系统可用的软件包 7. **接入了后端服务但是后端暂不开源。** 如有需要,可以自行根据swagger.json写一个后端 # 五、原版操作手册地址 1. [官网操作手册-语雀版](https://www.yuque.com/pdmaner/docs) 2. [oschina pdman专栏](https://my.oschina.net/skymozn?tab=newest&catalogId=5775221&sortType=time) # 六、开发与构建指南 ### 1. 环境要求 - **Node.js**: >= 22.0.0 - **包管理器**: pnpm (推荐版本 10.13.1) ### 2. 安装依赖 本项目使用 `pnpm` 进行依赖管理。首次拉取代码后,请运行以下命令配置 Electron 镜像并安装依赖: ```bash pnpm setup ``` ### 3. 启动开发环境 ```bash pnpm dev ``` ### 4. 打包构建 根据目标平台选择相应的打包命令: - **当前平台**: `pnpm package` - **Windows**: `pnpm package-win` - **Linux**: `pnpm package-linux` - **macOS**: `pnpm package-mac` - **全平台**: `pnpm package-all` ### 5. 代码规范 - **代码检查**: `pnpm lint` - **代码格式化**: `pnpm format`