GoLand 2025.2 Help

架构对比与迁移

启用 数据库工具和 SQL 插件

此功能依赖于 数据库工具和 SQL 插件,该插件在 GoLand 中默认捆绑并启用。 如果相关功能不可用,请确保未禁用该插件。

  1. Ctrl+Alt+S 打开设置,然后选择 插件

  2. 打开 已安装 选项卡,找到 数据库工具和 SQL 插件,并勾选插件名称旁边的复选框。

在 GoLand 中,您可以比较两个相同类型的数据库对象。 例如,您可以比较两个架构、两个表或两个例程。 包含对象的数据库可以托管在不同的服务器上。 GoLand 会在 迁移 对话框中显示这两个对象结构之间的差异。

Migration 是一种将结构和更改从一个对象传输到另一个对象(例如从一个架构到另一个架构)的过程。 在 GoLand 中,这些对象称为 起始目标。 迁移脚本的生成目的是使 目标 等于 起始。 但您可以根据需要修改该脚本以满足您的要求。

在迁移对话框中对比结构

对于更改,GoLand 使用以下颜色编码。

颜色

描述

项目为新增项

起始 中添加的对象,在迁移成功后将创建到 目标 中。

项目存在差异

已修改的对象,将在 目标 中进行更改。

待删除项目

起始 中删除的对象,在迁移成功后将在 目标 中移除。

请参阅 参考部分中的对话框控件说明。

架构对比

显示对象之间的差异

  1. 数据库 工具窗口中,选择两个相同类型的对象。 例如,两个架构。

  2. 右键点击所选项,并选择 与以下结构比较。 或者,按 Ctrl+D 键。

    迁移对话框中对象之间的差异

以表格形式显示更改之间的差异

  1. 迁移 对话框中,点击 起始目标 字段中的项目。

  2. 点击 对象属性差异 选项卡。

在 DDL 中显示更改之间的差异

  1. 迁移 对话框中,点击 起始目标 字段中的项目。

  2. 点击 DDL 差异 选项卡。

    对象属性之间的差异

显示相同项目

  • 要显示 起始目标 对象中所有相同的项目,请选中 显示相同对象 复选框。

    已启用“显示相同记录”选项
    “显示相同记录”已禁用

架构迁移

迁移对象之间的更改

  1. 数据库 工具窗口中,选择两个相同类型的对象。 例如,两个架构。

  2. 右键点击对象并在上下文菜单中选择 与以下结构比较。 或者,按 Ctrl+D

    脚本预览 选项卡中会生成一组语句,您可使用这些语句编写迁移脚本。

  3. 脚本预览 选项卡中,验证迁移脚本是否正确。

  4. 单击 执行。 或者,单击 在控制台中打开查询 在 查询控制台 中打开所有脚本。

选择要迁移的更改

  • 要排除某项更改,请单击更改旁边的复选框。

  • 要排除所有更改,请单击 目标 标签旁的复选框。

  • 要包含之前被排除的所有更改,请单击 目标 标签旁的复选框。

迁移对话框控件

图标

工具提示与快捷键

描述

全部展开

全部展开

展开所有已折叠的节点。

全部折叠

全部收起

折叠所有已展开的节点。

交换

交换

交换 起始目标 面板。

选项

选项

  • 使用架构名称限定对象 :设置何时使用架构名称限定数据库对象。

    • 从不 :不添加架构名称。

    • Always :向所有对象名称添加架构名称。

    • Auto :如果所有对象属于同一架构或当前架构,则省略架构名称。 在大多数情况下,当前架构是用户选择登录的架构。

    该选项仅影响生成的代码,不影响直接从服务器接收的代码。

  • 放置约束 :设置约束的位置。

  • 允许重新创建对象 :如果无法更改对象,则重新创建对象。

  • 使用替代(自动生成的)名称 :使用服务器端自动生成的、作者省略的名称。

  • 忽略标识符大小写的修改 :忽略标识符的大小写变更。

  • 生成禁用子句或语句 :为当前已禁用的元素生成禁用代码。

  • 忽略所有者 :在生成的脚本中忽略对象所有者。

  • 跳过权限 :不为权限生成授权代码。

  • 在用户定义中显示权限 :重新生成所有可访问对象的授权。

  • 忽略顺序 :忽略列顺序。

  • 重新生成数据库提供的代码 :重新生成随数据库源代码提供的属性定义。

  • 重新格式化生成的代码 :使用当前代码样式配置文件重新格式化生成的代码。

    该选项仅影响生成的代码,不影响直接从服务器接收的代码。

  • 忽略扩展成员 :忽略来自扩展的对象。

  • 忽略隐式对象: Ignore objects that are generated automatically. 例如,用于外键的索引,以及 Microsoft SQL Server 中列默认值的 DEFAULT CONSTRAINT

  • 忽略源代码(S) :忽略函数或过程中的主体。 对象会根据其类型与标识(例如函数签名)进行匹配。 如果两个函数的类型与标识相同,则视为相等。 之后 Diff Viewer 会根据此选项判断是否忽略函数主体。

已选中

包含更改

应用所选更改。

显示相同对象

显示所有相同的项。

DDL 差异控件

工具提示与快捷键

描述

上一个差异按钮/下一个差异按钮

上一个差异/下一个差异

Shift+F7/F7

跳转到上一个或下一个差异。

跳转到源代码按钮

跳转到源

F4

在编辑器的活动面板中打开所选对象的定义。 光标位置与 差异查看器 中的位置相同。

并排查看器

选择查看器模式: 并排查看器统一查看器。 并排模式包含两个面板,统一模式包含一个面板。

空白字符

定义 Diff Viewer 应该如何处理空格。

  • 不忽略 :空格重要,所有差异都会被高亮显示。 此选项为默认选中状态。

  • 修整空白 :如果空格出现在行首或行尾(("\t", " ") ),则裁剪空格。

    • 如果两行仅在行尾空格上存在差异,则视为相等。

    • 如果两行不相同,则在 按词 模式下不会高亮显示行尾空格。

  • 忽略空格 :空格不重要,无论在源代码中的位置如何。

  • 忽略空格和空行 :忽略空格与空行。 以下内容将被忽略:

    • 所有空格(如 忽略空格 选项中所述)

    • 所有仅包含空格的新增或删除的行

    • 所有仅在非空格部分无更改的拆分或合并行的更改。

      例如, a b ca \n b c 之间的差异不会在此模式中高亮显示。

高亮模式

选择差异的高亮显示方式。

可用选项包括:

  • 高亮显示单词 :高亮显示已修改的词语

  • 高亮显示行 :高亮显示已修改的行

  • 高亮显示拆分的更改 :选中此选项时,大型更改将被拆分为较小的更改。

    例如, A \n BA X \n B X 将视为两处更改而非一处。

  • 高亮符号 :高亮显示已修改的符号

  • 不高亮显示 :选中此选项时,将不会高亮显示任何差异。

    在处理被大幅修改的对象时,请使用 不高亮显示 选项。 在此类情况下,突出显示可能会在审阅过程中带来额外困难。

同步滚动

同步滚动

同步左侧和右侧窗格中的滚动。

设置按钮

设置

选择在比较过程中要忽略的选项。

  • 显示空白字符 :在 Diff Viewer 中将空格显示为点。

  • 显示行号 :在 Diff Viewer 中显示行号。

  • 显示缩进参考线 :在 Diff Viewer 中显示垂直线以指示缩进位置。

  • 自动换行 :在调整对话框大小时自动换行代码。

  • 高亮显示级别 :允许您在 Diff Viewer 中选择 高亮级别

  • 注释标注更改。

帮助图标

帮助

F1

打开浏览器并显示相应的帮助页面。

最后修改日期: 2025年 9月 26日