头图

0.基础环境

类别:笔记本
型号:中国长城 UF712
硬件平台:飞腾处理器(ArmV8 指令集)
系统:银河麒麟操作系统 V10 SP1(2203)
关键词:
信创,麒麟系统,linux,PKS,银河麒麟,飞腾,arm64,arm,power designer,数据建模,er图

1. 需求背景

在windows上, 我们常用的数据库建模工具有Power Designer。另一方面,如果只是单纯的建表的mysql workbench、navicat premium、hedissql都是可以的。本文试图为大家在国产飞腾处理器平台和麒麟系统上找到一个可用的数据库建模工具,来替代Power Designer等。
特别提示:本文偏向软件开发人员,或者数据库工程师。非VIsio或drawio.desktop等绘图工具一类。

2.国产开源软件PDManer

PDManer元数建模,是一款多操作系统开源免费的桌面版关系数据库模型建模工具,相对于PowerDesigner,他具备界面简洁美观,操作简单,上手容易等特点。支持Windows,Mac,Linux等操作系统,也能够支持国产操作系统。
由于其基于electron平台开发,所以对多平台情况比较友好。
更新:20231113,本人在官方ISSUE上提交后,得到官方响应,现官方有发布麒麟对应的版本。
官方下载信息页:http://www.pdmaner.com/download/v4.6.3
官方百度云盘渠道(所有版本):https://pan.baidu.com/s/1vtvzSF-1VF9MnzV3PupbXg?pwd=suj8
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文档,导出相关设置等

PDManner下载地址
http://pdmaner.com/#/downLoad 百度网盘直达地址https://pan.baidu.com/s/1vtvzSF-1VF9MnzV3PupbXg?pwd=suj8
注意:这里的Linux appImage版本只能运行在x86_64(intel,amd64)处理器平台上,所以本文为大家从源代码进行打包。
image.png
源代码工程

2.1 通过源码编译

https://gitee.com/robergroup/pdmaner 工程地址
在命令行中输入

git clone -b v4.2.2 https://gitee.com/robergroup/pdmaner.git #代码下载,-b v4.2.2为选择此tag的版本
cd pdmaner #进入工程目录
 yarn --registry=https://registry.npm.taobao.org #安装依赖
 yarn package-linux #构建Linux二进制包

image.png
生成的二进制包在dist目录下
image.png
本人提供的百度网盘下载地址:链接: https://pan.baidu.com/s/1FPVMWu0Xt9XCcIwjW_Fy0Q?pwd=m26r 提取码: m26r
也可以通过群文件获取

2.2 运行pdmaner

双击appimage二进制包,启动后效果如下
image.png
新建一个工程
image.png

添加一些连接
image.png
表的设计
image.png
数据库代码
image.png
程序代码
image.png
关系图
image.png

总的来说,pdmaner使用web技术研发,使用了electron进行客户端打包,跨平台和易用性上没有问题界面也美观。推荐使用

2.3 AppImage快捷方式的支持

先到这里,https://github.com/TheAssassin/AppImageLauncher找到applauncher(用于将appimage应用做到菜单快捷方式里面)
直接下载地扯
https://github.com/TheAssassin/AppImageLauncher/releases/download/continuous/appimagelauncher_2.2.0-gha111.d9d4c73+bionic_arm64.deb
最新版本进入https://github.com/TheAssassin/AppImageLauncher/releases ,选择arm64.deb即可
图片.png
下载后直接在命令行中运行

sudo dpkg -i appimage*.deb #具体包名根据实际情况更改

图片.png
将所有appimage程序放入这个文件夹,双击启动(第一次),程序就会在开始菜单建立快捷方式。

附:在Navicat Premium有Linux x64的版本,但没有提供arm64的版本。

夜已深,后续再找时间来丰富本篇章节,关于数据建模的,希望更多的同行来做更好用的国产软件。

麒麟系统专栏:
https://segmentfault.com/blog/kylinos
文章发表在SegmentFault
联系邮箱:1179611323@qq.com
群:662512340 文章中相关资料均可通过群文件获取或向群主请求协助
发行日志:
20221201 首发
20231113 更新信息:官方已提供对应软件包


码上世界
79 声望290 粉丝

码农极客,2004年接触Linux世界。爱技术的IT的男