Navicat Data Modeler 协同合作需依赖 Navicat Cloud 或自建 On-Prem Server,非自动实时同步;必须主动上传模型至项目,成员手动刷新才能获取更新,且不共享数据库连接信息,仅同步模型工作区、虚拟组等结构化配置。
Navicat Data Modeler 协同合作不是自动实时同步
协作功能依赖 navicat cloud 或自建 navicat on-prem server,本地模型文件不会“自动共享”。你必须主动将模型上传到项目中,其他成员才能拉取或编辑。如果只在本地保存 .ndm 文件,别人根本看不到你的改动。
常见错误现象:“我改了表结构,队友打开还是旧的”、“协同合作按钮灰色不可点”——通常是因为没登录 Navicat Cloud 账号,或当前模型未加入任何协同项目。
- 首次协作前,需在
文件 > 登录 Navicat Cloud输入企业账号(个人免费账号不支持多人项目) - 新建模型后,右键模型名 →
添加到项目,选择已有协同项目或新建一个 - 成员需手动点击
刷新按钮(或按F5)才能获取他人最新提交的模型变更 - 冲突处理无自动合并:若两人同时修改同一张表的字段,后提交者会收到提示,必须手动选择保留哪方更改
模型工作区共享 ≠ 数据库连接共享
协同时,模型工作区(含图表布局、图层分组、显示设置)可同步,但数据库连接信息默认不上传。这是安全设计,不是 bug。
使用场景:团队共用一套模型结构,但各自连接开发/测试/生产库。比如 A 用 dev_mysql 测试字段变更,B 用 prod_postgres 验证同步脚本——连接名、密码、主机地址都不进协同流。
- 若需统一连接配置,得手动导出
连接文件(.ncx)并单独分发,不能靠协同项目自动带过去 -
虚拟组和图表工作区可同步,但仅限于结构组织逻辑,不包含实际数据或执行权限 - 同步延迟通常在秒级,但网络波动时可能卡在
“正在加载模型…”,此时检查右下角状态栏是否显示Connected to Navicat Cloud
同步模型到数据库前务必检查差异类型
同步模型到数据库 功能会生成 DDL 脚本,但不同操作风险差异极大:添加字段 安全,删除字段 或 修改字段类型 可能丢数据。Navicat 不做数据备份,也不拦截高危操作。
典型错误:直接点击 运行,结果线上表被删列,业务报错。
- 进入
同步模型到数据库向导后,在“结构比对”页切换分组方式:按操作查看哪些是DROP COLUMN、ALTER COLUMN TYPE - 对含数据的表,优先选
生成脚本而非立即运行,把脚本粘贴到 SQL 编辑器里人工 review - 注意 PostgreSQL 和 MySQL 对
NOT NULL字段添加的处理不同:前者要求提供DEFAULT值,后者可能静默失败 - 若模型中用了
Crow’s Foot符号定义外键,但目标库是 SQLite(不支持外键约束),同步时会跳过约束生成,需手动补
数据字典协同需手动触发导出
协同项目里能看到其他人写的字段注释,但 数据字典(PDF/HTML 文档)本身不自动同步。每个成员导出的是自己本地视图下的快照。
容易被忽略的地方:A 在模型里给 user.name 加了注释“用户真实姓名”,B 刷新后能在属性面板看到,但 B 导出的 PDF 里若没重新生成,依然显示旧内容。
- 导出前务必确认当前打开的是最新协同版本(右上角显示
Synced at [时间]) -
数据字典向导中勾选包含注释和包含关系说明才能体现协同补充的信息 - PDF 页眉默认带模型创建者姓名,无法批量替换——多人协作交付文档时,建议统一用模板页眉覆盖











