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 c 与 a \n b c 之间的差异不会在此模式中高亮显示。

高亮模式

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

可用选项包括:

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

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

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

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

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

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

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

同步滚动

同步滚动

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

设置按钮

设置

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

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

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

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

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

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

  • 注释: 标注更改。

帮助图标

帮助

F1

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

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