干掉 powerdesigner,设计数据库表用它就够了

最近有个新项目刚过完需求,正式进入数据库表结构设计阶段,公司规定统一用数据建模工具 PowerDesigner。但我并不是太爱用这个工具,因为它的功能实在是太多了,显得很臃肿,而平时设计表用的也就那么几个功能。

这里找到一个好用的工具,马不停蹄的分享给大家,PDMan 一款国产开源的数据库模型建模工具,它的功能PowerDesigner 均已经实现,但相比于笨重的PowerDesigner来说。PDMan 专门用于数据表的设计,界面更加清爽漂亮,功能也十分简洁,没多余的设置很容易上手,还提供了 Windows,Mac,Linux 三个平台版本。

PDMan保存的是一个JSON文件,使用前得先做点准备工作,配置一下 JDK 和 MySQL 连接,后边的功能会用到。

下边我们来逐一看下PDMan 的功能点。

PDMan 支持一键导出数据表结构的DDL执行脚本,JSON格式数据,还有数据库表结构文档,其中数据库文档又可以生成 html 、word、markdown 三种格式,文档内容包括各个表的字段属性,数据表间的关系图。

html 格式

word 格式

markdown 格式

前边我们已经配置了数据库信息,这里直接将已有数据库中的数据表,逆向生成表结构,和数据表间的关系图。

PDMan 可以控制每次修改的版本,对任意版本间的修改进行比对,和Git的版本控制类似。

设置表结构的全局通用字段属性,通常在建表的时候,每个表都会有像创建时间 create_time、更新时间update_time、删除标记delete_flag、乐观锁revision这类字段,这样设置完以后在建表时会自动生成。

还可以自定义数据类型,比如:字符型可以自定义 varchar(10)、varchar(20)、varchar(30),建字段时直接选择对应数据类型即可,一劳永逸。

PDMan整体功能非常的简洁,不过也足以应对日常开发中数据库设计需求了。

作者:程序员内点事链接:https://juejin.cn/post/6911962087820525582

开发一款自己的数据库表设计器

平时做数据库设计时大多基于 UI 操作,需要在各种输入框中频繁的来回切换,操作麻烦且效率低。也找到一些基于DSL方言的建表工具:

dbdiagram.io – Database Relationship Diagrams Design Tool

QuickDBD (quickdatabasediagrams.com)

Free ER Diagram Tool – ERD Lab

体验下来感觉有些语法还是很别扭, 本着重复发明轮子的精神, 闲来无事就自己做一个

工具特点:

  • 使用 DSL 方言,语法简洁,易于上手;
  • 自动提示,减少语法关键字输入;
  • 无需鼠标操作,专注于表结构设计;
  • 支持生成Mysql/Sqlite3/Postgres/Mssql SQL建表语句;
  • 浏览器本地localStorage缓存;
  • 实时生成 ER 关系图,方便直观地查看表关系(开发中);

技术实现:

  • Vue3 + Codemirror
  • DSL 方言解析:Lezer
  • knex 建表sql语句生成

DSL示例:

乍一看和sql建表的语句好像区别不大, 省略了一些sql的关键字,再加上自动提示,没有了输入框的频繁切换, 可以比较专注的在设计表结构这件事情上.

运行效果:

目前功能还非常简陋. 喜欢的可以简单体验一下: https://litgh.github.io/

AI数据库设计神器:轻松生成表结构、ER图和CRUD代码

在项目初期,或者项目中途要加表,使用数据库设计工具来完成一些基本的功能,就显得特别重要,关键可以提高开发效率。

今天要介绍的工具就是一款在线数据库设计工具,界面简单易操作。

该工具可以实现如下功能:

  • 通过AI生成数据库表结构,可视化对表结构手动调整
  • 根据生成的数据库表结构,导出DDL语句
  • 设计制作美观的ER图
  • 生成CRUD代码,支持多种主流语言(java、go、python、js等),支持多种框架类型代码
  • 支持同步CRUD代码到开发工具中

这个工具只需要访问itBuilder,不需要安装任何软件。

进入我的工作台:

可以创建项目,本次在演示项目中演示基本功能。

输入你要生成表结构的需求描述,工具会帮你分析需求,设计表结构,如:

输入完成后,点击试一试:

生成完成后,点击保存,输入关系图名称:

创建完后,可视化表结构,可以自己手动调整:

点击导出DDL按钮,可以针对创建的所有表结构,导出DLL语句:

通过表结构,查看已经生成好的ER图:

可以手动设置表关系,还可以为每个表设置不同颜色:

生成CRUD代码:

点击代码偏好:

这个可以事先设置偏好,支持的主流的语言和框架都比较全:

本次选择 java 语言,然后选择 MybatisPlus,项目是 SpringBoot 框架:

再点击生成:

生成好了,controller、service、entity:

可以同步代码到指定的指定的设备:

同步代码到IDE:

点击连接设备:

这个设备码从哪里获取?比如同步到 idea 中去,在idea可以安装插件:

右下角,先点击连接,然后查看设备码:

将设备码复制到:

点击建立连接:

输入同步路径:/

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。