1

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

PS:这类似于 Red-GateSQL Source Control在 SQL Server Management Studio 中可以做的事情。不幸的是,他们没有 DataGrip 插件。

4

1 回答 1

3

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

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

  1. 打开文件窗格 (Ctrl/Cmd+1) 并在其中附加带有 DDL 脚本的文件夹。
  2. 通过Preferences |将这些文件与所需的数据源相关联 数据库 | SQL 解析范围
  3. 或者,安装 VCS 插件以仅从 DataGrip 提交和推送文件。在此处了解更多信息:https ://blog.jetbrains.com/datagrip/2018/06/01/tutorial-how-to-use-git-with-datagrip/
  4. 当您修改文件时,只需针对您需要的数据源运行这些脚本。上下文菜单也可用于此: 在此处输入图像描述
于 2019-07-18T09:57:57.240 回答