如何让DataGrip在SQL文件变更时自动执行查询?
如何配置DataGrip在SQL文件变更时自动执行查询?
可以实现,核心是通过DataGrip的File Watchers + External Tools组合功能来完成,具体步骤如下:
步骤1:创建用于执行SQL的外部工具
- 打开设置(Windows/Linux:
File → Settings;Mac:DataGrip → Preferences),导航到Tools → External Tools - 点击右上角
+号新建工具,配置信息如下:- Name:自定义名称,比如
Run Current SQL File - Program:填入DataGrip的安装路径可执行文件,Windows为
datagrip.exe,Mac/Linux为datagrip;若已将其加入系统PATH,直接写datagrip即可 - Arguments:填写
--execute "$FilePath$",该参数会让DataGrip执行指定路径的SQL文件 - Working directory:填写
$ProjectFileDir$ - 其余选项保持默认,点击
OK保存
- Name:自定义名称,比如
步骤2:配置File Watcher监控SQL文件变更
- 在设置中导航到
Tools → File Watchers - 点击
+号新建Watcher,选择Custom类型:- Name:自定义名称,比如
Auto Run SQL on Save - File type:选择
SQL,确保仅监控SQL文件的变更 - Scope:按需选择,比如
Project Files监控整个项目,或点击...自定义特定目录范围 - Program:选择刚才创建的外部工具
Run Current SQL File(直接选已创建的工具比手动填路径更便捷) - Arguments:保持默认即可,外部工具已配置好执行参数
- Advanced options:
- 可选勾选
Auto-save edited files to trigger the watcher,开启后文件编辑后自动保存就会触发执行 - 可选勾选
Trigger the watcher on external changes,用于监控外部修改的SQL文件
- 可选勾选
- Name:自定义名称,比如
- 点击
OK保存配置
验证功能
修改并保存(或自动保存)任意SQL文件后,DataGrip会自动执行该文件中的查询,执行结果会在底部的Run窗口中显示。
注意事项
- 确保SQL文件中的查询是可安全重复执行的(比如避免无条件的
DELETE或UPDATE语句),防止误操作导致数据异常 - 若SQL需要特定数据库连接,需确保DataGrip已配置好对应数据源,且该数据源为默认连接;也可在外部工具的
Arguments中添加--data-source [数据源ID]参数指定连接
内容的提问来源于stack exchange,提问作者Mihai H
相关产品推荐
相关产品推荐

