如何将Navicat查询文件纳入Git版本控制

冬丽小哥_9272

冬丽小哥_9272

2026-08-02

487人浏览

原创

navicat 的 .sql 查询文件默认存于用户文档下的固定路径(windows:c:\users{用户名}\documents\navicat{数据库类型}\servers{连接名}\queries\;macos:/users/{用户名}/documents/navicat/{数据库类型}/servers{连接名}\queries/),该目录仅为本地缓存,不参与 git 版本控制;直接提交 queries 文件夹会导致文件名无意义、含私有元数据、路径冲突及内容不稳定等问题;正确做法是手动右键查询标签页→「另存为」至 git 仓库指定子目录(如 ./sql/queries/),使用语义化命名(如 get_active_users_by_date.sql),关闭自动时间戳注释,再执行 git add 和 git commit;团队须明确规范:“所有用于分析或上线的查询必须导出并提交,否则视为未完成。”

navicat 查询文件(.sql)本身不自动参与 git 版本控制,必须手动导出到 git 仓库路径下并提交——navicat 不监听查询编辑行为,也不会把“未保存的查询”或“临时标签页”纳入任何版本系统。

Navicat 的 .sql 查询文件默认存哪?

这些文件是 Navicat 自动保存的本地草稿,路径固定且与连接强绑定:

  • Windows:C:\Users\{用户名}\Documents\Navicat\{数据库类型}\Servers\{连接名}\queries\
  • macOS:/Users/{用户名}/Documents/Navicat/{数据库类型}/Servers/{连接名}/queries/

注意:该目录不是 Git 仓库,也不受 Navicat 版本控制功能管辖;它只是 Navicat 自己的缓存目录,重装或误删可能丢失。

为什么不能直接把 queries 文件夹加进 Git?

直接将 Navicat 自动生成的 queries 目录提交到 Git 会引发三类问题:

  • 文件名无意义(如 query_12345.sql),无法体现业务意图
  • 包含 Navicat 私有元数据(如 /* Navicat Premium */ 注释、时间戳、编码声明),每次打开都可能触发无意义 diff
  • 路径含连接名(如 localhost),不同人本地连接名不一致,导致路径冲突或 Git 忽略

更关键的是:Navicat 不保证该目录内容稳定——你删掉一个查询标签页,它可能立刻从磁盘删除对应文件,Git 会报 deleted by us 冲突。

Convert Github Repository
Convert Github Repository

适用于以下场景:(1)用户提供 GitHub 仓库 URL 或本地仓库路径,并请求将其转换为其他格式;(2)用户请求导出 GitHub 仓库……

下载

正确的做法:手动导出 + 命名 + 提交

真正可维护的版本控制流程,必须绕过 queries 目录,走“主动导出 → 自定义命名 → 放入 Git 仓库 → 手动提交”路径:

  • 在 Navicat 中右键查询标签页 → 「另存为」→ 选择你已初始化好的 Git 仓库子目录(如 ./sql/queries/order_summary.sql)
  • 文件名用语义化命名(如 get_active_users_by_date.sql),避免数字编号或空格
  • 导出前关闭 Navicat 设置里的「自动添加时间戳注释」(工具 → 选项 → SQL 编辑器 → 取消勾选)
  • 导出后,在终端或 Git GUI 中执行 git add 和 git commit -m "add order summary query"

这个过程不可跳过。Navicat 永远不会替你做这一步,也没有后台任务监听查询变更。

团队协作时最易忽略的一环

不是路径配置,也不是分支命名,而是:没人明确负责把“刚写好的调试查询”导出为带业务含义的 .sql 文件并提交。结果就是 Git 里永远缺最新脚本,而同事只能靠截图或口头描述复现逻辑。建议在团队规范中写死一条:“所有用于分析或上线的查询,必须导出至 sql/queries/ 并提交,否则视为未完成。”

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

navicat git

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

2023.07.05

6319

9

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

2023.07.06

1820

6

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

2023.07.24

1074

5

git提交错误怎么撤回
git提交错误怎么撤回

git提交错误撤回的方法:git reset head^:撤回最后一次提交,恢复到提交前状态。git revert head:创建新提交,内容与之前提交相反。git reset :使用提交的 sha-1 哈希撤回指定提交。交互式舞台区:标记要撤回的特定更改,然后提交,排除已撤回更改。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.09

4117

7

git怎么对比两个版本的文件内容
git怎么对比两个版本的文件内容

要对比两个版本的 git 文件,请使用 git diff 命令:git diff 比较工作树和暂存区之间的差异。git diff 比较两个提交或标签之间的差异。git diff 输出显示差异块,其中 + 表示添加的行,- 表示删除的行, 表示修改的行。可使用 gitkraken、meld、beyond compare 等可视化工具更直观地查看差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.09

3861

6

数据库三范式
数据库三范式

数据库三范式是一种设计规范,用于规范化关系型数据库中的数据结构,它通过消除冗余数据、提高数据库性能和数据一致性,提供了一种有效的数据库设计方法。本专题提供数据库三范式相关的文章、下载和课程。

2023.06.29

2725

3

如何删除数据库
如何删除数据库

删除数据库是指在MySQL中完全移除一个数据库及其所包含的所有数据和结构,作用包括:1、释放存储空间;2、确保数据的安全性;3、提高数据库的整体性能,加速查询和操作的执行速度。尽管删除数据库具有一些好处,但在执行任何删除操作之前,务必谨慎操作,并备份重要的数据。删除数据库将永久性地删除所有相关数据和结构,无法回滚。

2023.08.14

3941

10

vb怎么连接数据库
vb怎么连接数据库

在VB中,连接数据库通常使用ADO(ActiveX 数据对象)或 DAO(Data Access Objects)这两个技术来实现:1、引入ADO库;2、创建ADO连接对象;3、配置连接字符串;4、打开连接;5、执行SQL语句;6、处理查询结果;7、关闭连接即可。

2023.08.31

3011

3

MySQL恢复数据库
MySQL恢复数据库

MySQL恢复数据库的方法有使用物理备份恢复、使用逻辑备份恢复、使用二进制日志恢复和使用数据库复制进行恢复等。本专题为大家提供MySQL数据库相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.05

967

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
vscode手册
vscode手册

共0课时 | 0人学习

Git 教程
Git 教程

共21课时 | 8万人学习

Git版本控制工具
Git版本控制工具

共8课时 | 1.9万人学习