navicat 不支持多图纸模型工作区协同,因其 model 模块基于单机 .ndm 文件,无实时协作、版本控制、冲突合并或变更追踪能力;多人编辑易覆盖、导出仅为静态图、不兼容跨版本,需配合 dbdiagram.io 等工具实现真正协同。
navicat 本身不支持“多图纸模型工作区协同”这种可视化设计协作模式——它不是 er 建模工具,也没有内置的多人实时协同画布、版本化图纸或模型级冲突合并机制。
为什么 Navicat 的「模型」功能无法支撑真正意义上的多图纸协同
Navicat 的 Model 模块(如 MySQL Model、PostgreSQL Model)本质是单机本地文件(.ndm),导出为 PNG 或 PDF 是静态快照,不带结构元数据同步能力。多人同时编辑同一 .ndm 文件会导致覆盖丢失,且无变更追踪、分支、评论等协同要素。
常见错误现象包括:
- 同事 A 保存后,同事 B 的修改被静默覆盖,无提示、无合并选项
- 导出的「图纸」只是图片,无法反向生成 DDL 或更新数据库结构
- 不同人用不同 Navicat 版本打开同一
.ndm,出现兼容性报错Unsupported model version
替代方案:用 Navicat 配合外部建模与协作工具
若你实际需要的是「多人协作建模 + 可视化设计 + 同步到数据库」,应把 Navicat 当作下游执行终端,而非主协作平台。推荐组合:
- 建模与协同:用
dbdiagram.io(在线、实时协作、自动版本)、draw.io(导入导出.xml,支持 Git 管理)或Lucidchart(有 ER 模板和评论) - 结构落地:将最终确认的 ER 图转成 SQL 脚本,用 Navicat 的
Query或Migration功能执行 - 反向工程:用 Navicat 的
Reverse Engineer从库生成.ndm仅作本地参考,不用于协同
注意:.ndm 文件不能直接提交到 Git(二进制、不可 diff),但 draw.io 的 .xml 和 SQL 脚本可完整纳入版本控制。
如果坚持在 Navicat 内做「类协同」,只能靠流程约束
适用于小团队、低频变更场景,核心是规避并发写入。实操要点:
- 指定唯一「模型负责人」,所有图纸修改必须经其合并、验证并重新分发
.ndm - 每次发布新版本时,用 Navicat 的
Compare Model to Database校验差异,再手动确认是否执行Synchronize - 禁用 Navicat 自动保存,改用「手动 Save As → 带日期前缀,如
model_v20240520.ndm」 - 不要依赖
Model → Export as Image作为交付物;对外交付统一用导出的SQL DDL文件,确保可执行、可审计
真正的协同不在图纸是否“多”,而在变更是否可追溯、冲突是否可识别、执行是否可回滚。Navicat 的模型模块没提供这些底层能力,硬凑只会让问题藏得更深。











