Datagrip导出表数据SQL的时候不带上库名

原创
2022/03/04 10:13
阅读数 1.2W

默认情况下使用Datagrip导出数据sql是带库名的,导出的SQL大概是这样的:

insert into `my_database_name`.`my_table_name` (...) values (...);

当我想在其它数据库执行这个SQL脚本的时候,有可能数据库名字就会出问题。 而默认情况下又没有提供忽略库名这个选项(也有可能是我没找到)。 这时候就可以修改默认的groovy脚本,来自定义这个生成语句的逻辑。

首先在需要导出的表或是数据库上按右键,找到"Scripted Extensions -> Go To Scripts Directory",点击之后Files窗口会自动将焦点锁定到这些groovy脚本中:

默认情况下焦点在scheme目录下,我们找到上面的 “data -> extractors”目录,这个目录下就是我们在导出数据的时候,调用的groovy脚本啦。

其中 CSV-Groovy.csv.groovy 就是导出CSV格式的脚本,JSON-Groovy.json.groovy就是导出JSON格式的脚本,我们需要修改的是 SQL-Insert-Statements.sql.groovy 这个文件。当然我建议您将这个文件复制一份,改成自己喜欢的名字,比如我就改成了 自定义导出.sql.groovy 。 然后保留原来的文件不动,只修改自己复制出来的新文件,这样改错了也可以重新复制一份,不至于找不到原始的代码。

打开文件后,红圈的部分就是拼装数据库名称的部分,删除即可。之后重新生成sql文件,在下拉框中选项自己修改后的groovy脚本。 接下来无论是导出文件,还是复制到剪贴板,就都会按照我们修改的逻辑执行啦。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
1 收藏
1
分享
返回顶部
顶部