PhpStorm 2021.3 Help

数据库对象的差异查看器

在 PhpStorm 中,您可以比较数据库对象表、视图和物化视图的输出

比较数据库对象

差异查看器向您显示两个数据库对象之间的差异和相似之处:OriginTarget。生成迁移脚本以使Target等于Origin

在 PhpStorm 中,您可以比较两个相同类型的数据库对象。例如,您可以比较两个模式、两个表或两个例程。PhpStorm 向您展示了这两个对象的结构差异。

比较表结构

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

颜色

描述

项目相同

在Origin中添加的对象,在成功迁移的情况下将在Target中创建。

物品不一样

修改的对象,将在Target中更改。

要删除的项目

Origin中删除的对象,如果迁移成功,将在Target中删除。

请参阅参考部分中对对话框控件的描述。

  1. 数据库工具窗口(视图|工具窗口|数据库)中,选择两个相同类型的对象。例如,两个模式。

  2. 右键单击选择并导航到Compare。或者,按Ctrl+D

    在脚本预览选项卡中生成一组可用于编写迁移脚本的语句。

在对象之间迁移更改

  1. 数据库工具窗口(视图|工具窗口|数据库)中,选择两个相同类型的对象。例如,两个模式。

  2. 右键单击选择并导航到Compare。或者,按Ctrl+D

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

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

在表格中显示更改之间的差异

  1. 在“迁移”对话框中,单击“源”或“目标”字段中的项目。

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

显示 DDL 更改之间的差异

  1. 在“迁移”对话框中,单击“源”或“目标”字段中的项目。

  2. 单击DDL 差异选项卡。

    对象属性之间的差异

选择要迁移的更改

  • 要排除更改,请单击清除更改的复选框。

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

  • 要包括所有已排除的更改,请单击目标标签附近的复选框。

显示相同的项目

  • 要显示OriginTarget对象中相同的所有项目,请选中Show same复选框。

    显示相同的记录

比较表、物化视图和视图的内容

比较内容操作比较表、视图和实体化视图的输出。要查找此操作,请在“数据库”工具窗口(查看 | 工具窗口 | 数据库)中选择两个对象,然后右键单击所选内容。此外,您可以双击这些对象,然后从编辑器中比较它们。

您可以比较属于不同类型的两个对象的内容。例如,表格和物化视图的输出。

表格内容

差和检测列插入的描述在内容差异查看器的控件中可用。

默认情况下,当您发出查询时,返回的行数限制为 500。引入此限制是为了避免过载(例如,当您的 SELECT 语句返回一百万行时)。要增加比较的行数,请配置将页面大小限制为参数。

从数据库工具窗口比较两个表的内容

默认情况下,当您发出查询时,返回的行数限制为 500。引入此限制是为了避免过载(例如,当您的 SELECT 语句返回一百万行时)。要增加比较的行数,请配置Limit page size to 参数

  1. 数据库工具窗口(查看 | 工具窗口 | 数据库)中,选择两个表。

  2. 右键单击选择并导航到比较内容

    如果需要,在比较对话框中更改公差参数的值。Tolerance参数定义了两个结果集之间允许的最大差异数。例如,如果您想在单列中的数据不同时将两行视为相等,请1在“容差”字段中输入。

    从数据库工具窗口比较两个表

从数据编辑器比较两个表的内容

  1. 打开两个要比较的表。要打开一个表,请在“数据库”工具窗口中双击它。

  2. 在编辑器中,单击比较内容按钮 ( 比较内容按钮) 并选择第二个表。

    比较两个表

控制数据库对象的差异查看器

图标

工具提示和快捷方式

描述

展开全部

展开全部

展开所有折叠的节点。

全部收缩

全部收缩

折叠所有展开的节点。

选项

选项

根据不同的变化选择选项。如果选择了该选项,则该选项中提到的属性将在 diff 中被忽略。

  • 忽略顺序:忽略项目在对象中的顺序。

  • 忽略大小写:忽略项目名称中的大小写。

  • 忽略隐式对象:忽略自动生成的对象。例如,外键索引,Microsoft SQL Server 中列默认值的 DEFAULT CONSTRAINT。

  • 忽略源代码:忽略函数或过程中的主体。对象根据它们的种类和身份进行匹配(例如,函数签名)。如果两个函数的种类和身份相等,则认为它们相等。然后差异查看器会考虑这个选项——是否忽略函数体。

  • 忽略所有者:忽略为项目设置的用户权限。

已选中

包括更改

应用选定的更改。

显示相同

显示所有相同的项目。

DDL Diff 的控制

物品

工具提示和快捷方式

描述

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

上一个差异/下一个差异

Shift+F7/F7

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

跳转到源按钮

跳转到源

F4

在编辑器的活动窗格中打开选定对象的定义。插入符号放置在与差异查看器中相同的位置。

并排查看器

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

空格

定义差异查看器应如何处理空格。

  • 不要忽略:空格很重要,所有差异都会突出显示。默认选择此选项。

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

    • 如果两行仅在尾随空格不同,则这些行被视为相等。

    • 如果两行不同,则尾随空格不会在按字模式下突出显示。

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

  • 忽略空格和空行:忽略空格和空行。以下实体被忽略:

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

    • 所有添加或删除的仅包含空格的行

    • 所有在不更改非空白部分的情况下拆分或连接行的更改。

      例如,在此模式下不会突出显示a b c和之间的差异。a \n b c

高亮模式

选择突出显示差异的方式。

可用的选项有:

  • 高亮词:修改后的词被高亮

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

  • 突出显示拆分更改:如果选择此选项,则将较大的更改拆分为较小的更改。

    例如,A \n BandA X \n B X被视为两个更改而不是一个。

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

  • 不突出显示:如果选择此选项,则根本不会突出显示差异。

    当您处理已显着修改的对象时,请使用不突出显示选项。在这种情况下,突出显示可能会在审查期间带来额外的困难。

设置按钮

设置

选择在比较期间要忽略的选项。

  • 显示空白:选择此检查命令以在差异查看器中将空白显示为点。

  • 显示行号:选择此检查命令可在差异查看器中显示行号。

  • Show Indent Guides:选择此检查命令以使 PhpStorm 在差异查看器中显示垂直线以指示缩进的位置。

  • Soft-Wrap:选择此检查命令以在调整对话框大小时让 PhpStorm 包装代码行。

  • 突出显示级别:使用此菜单项选择差异查看器中的突出显示级别

  • 注释:选择此检查命令以注释更改。

设置按钮

帮助图标

帮助

F1

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

内容差异查看器的控件

在内容的差异查看器中,您可以使用数据编辑器中提供的相同排序功能。有关对列进行排序的详细信息,请参阅对数据进行排序

检测列插入

当表具有不同的列数时,将忽略表中具有更多列的额外列。如果启用了检测列插入选项,则会忽略大多数不同的列。在下图中,第二个表中的第一列差异最大,因此被忽略。结果,第二行显示为包含相同的数据。

比较表数据

如果该选项关闭,则忽略最后一列。在下图中,第二个表中的最后一列被忽略。因此,所有行都显示为包含不同的数据。

在关闭检测列插入的情况下比较表数据

宽容

Tolerance参数定义了在考虑两行相等时可能有多少列不同。例如,如果您将Tolerance设置为 1,则在一列中不同的行被视为相等。

比较容差等于一的表数据

容差设置为零时,此类行被视为不同。

比较表数据容差为零

使用此设置,您还可以在行中的数据不同时检查不同的列。这些列中的此类行被突出显示。如果您有不止一行的不同数据,请增加容差选项。例如,将Tolerance设置为1,您可以看到两个表之间只有last_name列不同。

当行包含不同的数据时,列不同
最后修改:2021 年 12 月 15 日