架构更改后自动更新本地存储库

时间:2019-07-16 06:27:03

标签: git version-control datagrip redgate intellij-datagrip

有了DataGrip,我知道有一种方法可以基于数据库模式生成SQL脚本(右键单击表> SQL Scripts> SQL Generator)。但是,是否有一种方法可使DataGrip在通过查询(DDL)或UI(Modify Table选项)更改架构时自动更新这些生成的SQL脚本?

现在,如果我希望我的SQL脚本文件受版本控制,并且如果我希望这些文件反映数据库的最新状态/模式,则必须:

  1. 手动修改文件。
  2. 复制文件(查询)的内容并将其粘贴到DataGrip中的控制台上。
  3. 从控制台运行查询,以更新数据库架构。
  4. 如果第3步成功,请将文件中的更改提交到本地GIT存储库。如果步骤3失败,请从步骤1重新开始。

相反,我想:

  1. 通过查询或New > Create Table选项或Right click on the table > Modify Table选项直接在DataGrip上进行模式更改。
  2. (如果第1步成功完成),将显示DataGrip本身的更改集,并单击Save / Commit之类的东西,然后在本地存储库中修改相应的SQL脚本并创建一个新的提交。然后,这将触发我的CI / CD管道来构建,测试和部署更改后的架构。

P.S:这类似于Red-Gate的SQL Source Control在SQL Server Management Studio中可以执行的操作。不幸的是,他们没有DataGrip的插件。

1 个答案:

答案 0 :(得分:2)

现在,DataGrip无法根据架构更改自动更新SQL文件。我们有想法在将来实施。我认为最好的票证是:https://youtrack.jetbrains.com/issue/DBE-3852

无论如何,您当前的算法似乎并不是最有效的。我会提供什么:

  1. 打开文件窗格(Ctrl / Cmd + 1),然后在其中附加带有DDL脚本的文件夹。
  2. 通过首选项|将这些文件与所需的数据源相关联数据库| SQL解析范围
  3. (可选)安装VCS插件以仅从DataGrip提交和推送文件。在此处了解更多信息:https://blog.jetbrains.com/datagrip/2018/06/01/tutorial-how-to-use-git-with-datagrip/
  4. 修改文件时,只需对所需的数据源运行这些脚本。上下文菜单还可用于此目的: enter image description here