Navicat 17 的项目共享功能不能替代 Git 或文档协同流程,仅支持通过 Navicat On-Prem Server 或 Cloud 实现对象级覆盖式同步,无分支、diff、历史回溯,依赖统一登录、权限配置及 URI 分享,不支持文件级版本控制。Navicat 17 的项目共享功能**不能替代 Git 或文档协同流程**,它只解决“让外包成员快速看到并使用你已配置好的对象”这一层问题——前提是你们共用同一个 Navicat On-Prem Server 或 Navicat Cloud 实例,且权限配置得当。
外包对接前必须确认的三件事
很多团队卡在第一步就失败,不是功能不行,而是前提没对齐:
- 外包成员是否已注册并登录同一
Navicat ID,且被添加进对应项目? - 你们使用的是否是
Navicat On-Prem Server(推荐)或Navicat Cloud?Navicat Premium 17本地安装本身不带共享能力,必须依赖这两个后端服务之一。 - 项目所有者是否已为外包角色分配了明确权限?比如“客人”只能读,“成员”可读写但不能删,“管理员”能管理权限——这些在
Navicat On-Prem Server的 Web 界面里设置,不在客户端内。
如何把 BI 工作区或查询发给外包,让他们“点开即用”
外包常需复现报表逻辑或验证 SQL 输出,直接发截图或粘贴文本容易出错。URI 是最稳的方式:
- 先确保该 BI 工作区或查询已保存到
Navicat Cloud或Navicat On-Prem Server(右键 → “保存到云” 或拖入导航窗格中的服务器节点下) - 右键该对象 → “复制 URI”,务必勾选“包含密码”(如果连接本身需要密码),否则外包打开时会提示连接失败
- 把生成的 URI 发过去,他们只需在自己 Navicat 中点击“连接” → “通过 URI 创建连接”,粘贴即可——无需手动填主机、端口、账号
- 注意:
URI里密码是占位符<PASSWORD>,外包需手动替换成真实密码;若用的是免密连接(如 SSH 隧道或 Windows 认证),则不用替换
模型文件(.nmodel)共享为什么总不同步?
外包拿到的 .nmodel 文件打不开、字段缺失、关系错乱,90% 是因为没走服务器同步路径:
-
.nmodel文件本身是二进制,不能像文本那样 diff 或合并;Navicat 17 不支持 Git,所以“发一个文件过去”等于发快照,后续修改无法自动同步 - 正确做法:在 Navicat 中打开模型工作区 → 修改完成后,右键 → “保存到云”(或拖入
On-Prem Server下的“模型工作区”节点)→ 外包刷新导航窗格就能看到最新版 - 如果外包需离线查看,可导出为 JSON(菜单栏:模型 → 导出为 JSON),但这是只读快照,改完无法一键回传;建议仅用于结构比对,别当协作主干
权限失控和误操作怎么防?
外包成员手滑删掉一个关键代码段,或者覆盖了你刚调好的聚合管道——这类事故在“覆盖式同步”机制下无法撤回:
- 永远不要给外包“管理员”角色;最小够用原则下,设为“成员”(可编辑)或“客人”(只读)
- 敏感对象(如生产环境连接、核心数据字典查询)不要放入共享项目;用本地连接 + 本地代码段隔离
- 定期检查
Navicat On-Prem Server的活动日志(Web 界面 → “活动”页签),关键词过滤delete、update、save,能快速定位谁在何时动了什么 - 没有版本历史,所以重要变更前,你自己手动导出一份
.nmodel或 SQL 脚本存档,命名带上日期和简要说明,比如order_model_20260605_fix_nullable_fields.nmodel


















