当前位置: 首页 > web >正文

Web端ER可视化

背景介绍

因业务需要,团队决定对原ER图功能进行重构。重构来自两方面,一是功能上进行了细分,二是实现方式发生了变化。下面是重构前后对比:

重构前重构后
功能方面只有逻辑模型层面的ER图包括概念模型、逻辑模型、物理模型3个层面的ER图
实现方式单页面、antv/g6微前端、React Flow、Elkjs

至于为什么前后采用的技术变化这么大,是因为我们采用了一个叫作ChartDB的开源仓库进行二开,本文主要围绕作者实现功能过程中遇到的问题进行展开。

ChartDB介绍

既然用到了ChartDB,这里有必要先对其进行简单介绍。

ChartDB一款基于 Web 的开源数据库可视化工具,旨在通过智能查询快速生成数据库架构图,并支持交互式编辑与 AI 驱动的数据库迁移功能。其设计理念是简化数据库结构的可视化与管理流程,适用于开发、文档生成、团队协作等场景。更多内容,读者可以参考其官网。

涉及到的核心前端技术包括下面几项:

  • Vite构建工具
  • React Flow
  • IndexedDB

在本项目中我们并没有用到ChartDB的全部能力,出于工时成本的考虑,我们只用了该项目的已有的可视化能力,同时结合实际需求做了一些改造。

实现过程

开发过程并不繁琐,但遇到了两个对我们来说算难点的地方,其余的就只是需要一定的时间了。

首先,我们得先熟悉ChartDB这个开源项目,理解其设计细节和实现细节,这样我们的改造才能更随心所欲,遗憾的是我们并没有那么多时间去了解全部细节。所以,在大致了解系统运行逻辑之后,我们就以功能性作为目标,开始了改造。

之后我们梳理了已有功能和目标功能的差异,概念模型功能用React Flow这款基于节点和连线的可交互图库自己实现,逻辑模型和物理模型图形部分用已有的,再根据需要扩展。

最后是功能放在什么地方,我们有两个选择,一是放在重构前的代码模块中,二是另开一个微前端。

如果选择第一种</

http://www.xdnf.cn/news/2166.html

相关文章:

  • 部署大模型需要多少GPU显存?以DeepSeek R1部署为例
  • MongoDB Atlas与MongoDB连接MCP服务器的区别解析
  • SpringBoot物资管理系统 | JavaWeb项目设计与实现
  • 山东大学离散数学第九章习题解析
  • 雪花算法
  • 深入解析NuttX:为何它是嵌入式RTOS领域的标杆?​​
  • 多模态大语言模型arxiv论文略读(四十三)
  • 力扣2444. 统计定界子数组的数目:Java三种解法详解
  • 5G助力智慧城市的崛起——从概念到落地的技术实践
  • 哈希表的模拟实现---C++
  • Ubuntu下安装vsode+qt搭建开发框架(一)
  • 推荐几个免费提取音视频文案的工具(SRT格式、通义千问、飞书妙记、VideoCaptioner、AsrTools)
  • 直线模组精度测试的标准是什么?
  • Linux 进程控制
  • 树状数组底层逻辑探讨 / 模版代码-P3374-P3368
  • 阿里云VS AWS中国区:ICP备案全攻略与常见误区解析
  • 判断 ONNX 模型是否支持 GPU
  • 微信小程序 - 根据经纬度打开导航
  • 追风赶月莫停留
  • WebcamJS中文文档
  • Debian安装避坑
  • 动态规划求解leetcode300.最长递增子序列(LIS)详解
  • React 与 Vue 的区别:你会选择哪个框架呢
  • 关于Android Studio的Gradle各项配置
  • 高级 SQL 技巧:提升数据处理能力的实用方法
  • 图像畸变-径向切向畸变实时图像RTSP推流
  • leetcode 26和80
  • strcmp()在C语言中怎么用(附带实例)
  • CentOS 如何使用截图工具截取命令行操作的图片?
  • 定制一款国密浏览器(12):分析SM2签名算法的实现