无外键标注schema的ER diagram生成:如何免手动为160张表生成ER图
无显式外键Schema批量生成ER图方案
因为你的Schema没有标注外键,无法做到100%全自动生成完全精准的关联关系,但可以通过半自动化方案实现无需手动逐张添加表、仅需少量校验即可生成ER图的效果,具体操作路径如下:
- 第一步批量导出全量表结构,生成ER图基础框架,这一步完全无需手动操作
- MySQL环境可执行SQL查询导出所有表字段信息:
SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '你的目标库名' - PostgreSQL环境对应查询语句:
SELECT table_name, column_name, data_type FROM information_schema.columns WHERE table_schema = '你的目标schema名' - 其他类型数据库都可以通过查询系统表的方式批量导出全量字段信息,也可以直接用DBeaver、Navicat等数据库管理工具直接批量导出全表结构
- MySQL环境可执行SQL查询导出所有表字段信息:
- 第二步自动推测表关联关系,批量生成ER图
- 大部分业务系统的关联字段都有统一命名规则,比如关联user表的字段通常命名为user_id、userId,你可以用支持字段名模糊匹配关联的ER工具,导入全量表结构后开启自动关联选项,工具会自动给命名匹配的字段生成关联线
- 如果你熟悉简单脚本开发,也可以自己写脚本基于自定义的字段匹配规则,批量生成.dot格式的描述文件,再用Graphviz直接渲染生成完整ER图
- 最后仅需核对少量不符合命名规则的关联关系即可,160张表的校验工作量通常在2小时以内,远低于纯手动绘制的成本
提示:自动生成的关联关系是基于命名规则的推测结果,需要结合实际业务逻辑校验准确性,避免错误关联
内容的提问来源于stack exchange,提问作者Learner
相关产品推荐
相关产品推荐

