一、背景
随着一声紧急的呼叫,快快快。把你们有安装PownerDesigner的软件都卸载掉,公司被发律师函了,这是来自于领导的呼喊。
我们公司大部分的软件的数据结构,都是用PownerDesigner来进行设计的。以便进行后期的管理与维护。不过由于没有付费,这次被发函了。好像国外软件的套路都差不多,等你用的时候不说,等你离不开他了,养肥了,开始进行宰割。
为什么没有一个国产的呢?别人有我们也得有不是?带着这个疑问,我准备开动了
二、定目标
那么这个软件要实现哪些功能呢?先解决主要问题,分步实施
- 1、能进行mysql,sqlserver,oracle,国产达梦,TiDB等数据库的表结构设计(字段、索引、主外键关系,默认值....)
- 2、能多人一起进行设计,特别是大的项目,需要多人一起。能把文件分享给别人
- 3、设计的表结构能导为DDL,DML,EXCEL等格式
- 4、能按模块进行分类管理(一般大项目都有很多模块,需要分类管理)
- 5、表结构设计完成后,能直接生成代码(支持mybatis,mybatisplus,hibernate的CRUD操作,从controler,service到DAO),方便快捷开发
- 6、能把常用字段保存为模板,这样新设计表时,能直接从模板里选择常用字段(特别是每create_time,update_time等每个表都有的字段)
- 7、能生成ER图,模型图。并且在图上直接修改表,修改字段等。这样可以理清楚表之间的关系
- 8、能用excel设计表结构,然后导入进来。然后DDL,代码生成什么都有了(好像经常有人用EXCEL做表结构,然后DDL又要再写一次,太麻烦了)
- 9、支持windows,mac,linux版本,以及Sass版本
嗯,差不多了,先干这些
三、技术选型
我是JAVA技术栈的,怎么开发跨端的软件了?想来想去使用下面的
- 后端使用JAVA,轻车熟路
- 前端使用VUE,好画页面
- tauri实现桌面端打包,也想过更成熟的electron。不过tauri包更小,更安全,就是文档太少。我喜欢尝试新技术,最后选用tauri
四、开干
这里省略几个不眠夜
五、成果
经过不停的努力,干成什么样了?大家可以试用下,给点反馈:
地址:dxbuilder.nyawei.cn/
部分界面: