Navicat 无法从“查看→ER图”临时视图导出SVG,因其为只读快照、无导出功能;必须通过逆向生成的可编辑模型,在模型编辑器中点击文件→导出→图像并勾选矢量图形选项方可导出真正SVG。
navicat 导出 er 图为 svg 是可行的,但必须走「模型」路径,不能从数据库连接界面的临时 er 视图直接导出 —— 否则菜单里根本不会出现 svg 选项。
为什么“查看→ER 图”界面点不了导出 SVG?
这个视图是只读快照,Navicat 把它设计成轻量预览用途:不保存布局、不支持缩放适配、导出功能被完全禁用。你右键、文件菜单、工具栏都找不到 Export 或 SVG 字样。
真正支持 SVG 导出的入口只在「模型编辑器」中,也就是通过 逆向数据库到模型 创建出来的那个可编辑文件。
导出 SVG 前必须确认的三项设置
进入模型编辑器后(双击左侧「模型」节点下的对应模型),点击 文件 → 导出 → 图像,弹出对话框时注意:
- 格式下拉菜单里选
SVG—— 如果没看到,说明你还没在模型里切换过视图类型,先点顶部查看 → ER 图标激活图形模式 - 勾选
导出为矢量图形(部分版本叫Use vector graphics),否则即使选了 SVG,实际导出的仍是位图封装 - 字体嵌入默认关闭,中文会 fallback 到系统默认无衬线体;如需保真,提前在系统安装
Source Han Sans SC或Noto Sans CJK SC并重启 Navicat
导出 SVG 后打开模糊或连线错位?
这不是文件损坏,而是渲染环境问题。SVG 在浏览器或 Sketch 中显示正常,但在 PowerPoint、Word 或某些 PDF 查看器里可能失真,原因有二:
- Navicat 导出的 SVG 不带
viewBox自适应声明,缩放依赖宿主解析器 —— 建议用 Chrome 或 Edge 直接打开验证原始效果 - 连线位置基于模型画布像素坐标,若你在导出前没点右上角的
适应窗口按钮,再拖动缩放至100%~150%,SVG 会按原始画布尺寸(可能超宽)生成,导致导入第三方工具后挤压变形
想让 SVG 支持 Mermaid/PlantUML 协作评审?
Navicat 原生 SVG 不含语义结构,无法被代码化工具识别。如果团队需要版本控制或自动比对,别折腾 SVG 渲染细节:
- 改用
模型 → 导出为 SQL,得到标准 DDL - 把 SQL 文件丢给
sql2diagram(CLI 工具)或dbdiagram.io(在线版),它们输出的才是带 ID、label、relation 的可解析图表源码 - 这类流程绕开了 Navicat 渲染器的所有限制,且 SQL 本身可 git track
真正容易被忽略的是:SVG 导出动作本身不校验外键约束有效性 —— 若数据库里缺失 FOREIGN KEY 定义,图中连线照样生成(靠字段名匹配猜测),但导出的 SVG 里连的是“幻影关系”。务必先在 MySQL 中执行 SELECT * FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE 确认真实约束存在。


















