PyCharm 2026.2 Help

架构比较与迁移

启用 数据库工具和 SQL 插件

此功能依赖 数据库工具和 SQL 插件,默认随 PyCharm 一起提供并启用。 如果相关功能不可用,请确保没有禁用该插件。

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

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

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

迁移 是将结构和更改从一个对象传输到另一个对象的过程(例如,从一个架构到另一个架构)。 在 PyCharm 中,这些对象分别称为 来源 和 目标。 会生成迁移脚本,使 目标 与 来源 相同。 但您可以根据需求修改脚本。

在迁移对话框中比较结构

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

颜色

描述

新建的项

在 来源 中添加的对象,若迁移成功,将在 目标 中创建。

有差异的项

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

要删除的项

在 来源 中删除的对象,若迁移成功,将在 目标 中删除。

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

架构比较

显示对象之间的差异

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

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

    迁移对话框中的对象差异

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

  1. 在 迁移 对话框中,点击 来源 或 目标 字段中的某个项。

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

在 DDL 中显示更改的差异

  1. 在 迁移 对话框中,点击 来源 或 目标 字段中的某个项。

  2. 点击 DDL 差异 选项卡。

    对象属性差异

显示相同的项

  • 要显示在 来源 和 目标 对象中相同的所有项,请选中 显示相同 复选框。

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

架构迁移

在对象之间迁移更改

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

  2. 右键单击所选内容,并在上下文菜单中选择 将结构与以下项比较。 或者,按下 Ctrl+D。

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

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

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

选择要迁移的更改

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

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

  • 要包含所有已排除的更改,请点击 目标 标签旁边的复选框。

迁移对话框的控件

图标

工具提示与快捷键

描述

全部展开

全部展开

展开所有已折叠的节点。

折叠全部

折叠全部

折叠所有已展开的节点。

交换

交换

交换 来源 和 目标 面板。

选项

选项

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

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

    • 始终 :为所有对象名称添加架构名称。

    • 自动 :当所有对象都属于同一架构或该架构为当前架构时,省略架构名称。 在大多数情况下,当前架构是用户选择用来登录的架构。

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

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

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

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

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

  • 生成禁用子句或语句 :为当前处于禁用状态的元素生成代码。

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

  • 跳过授权 :不为权限生成 GRANT 语句。

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

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

  • 重新生成数据库提供的代码 :重新生成由数据库作为源代码一部分提供的属性定义。

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

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

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

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

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

已选择

包含更改

应用所选更改。

显示相同

显示所有相同的项。

DDL 差异的控件

项目

工具提示与快捷键

描述

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

上一个差异/下一个差异

Shift+F7/F7

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

转到源按钮

跳转到源代码

F4

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

并排查看器

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

空白字符

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

  • 无 :空白很重要,所有差异都会高亮显示。 默认选择此选项。

  • 修整空白 :当空白字符出现在行尾和行首时进行裁剪(("\t", " "))。

    • 如果两行仅在行尾空白上有所不同,则这两行被视为相同。

    • 如果两行不同,在 By word 模式下不会高亮显示行尾空白。

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

  • 忽略空格和空行 :忽略空白字符和空行。 以下内容将被忽略:

    • 所有空白字符(与 忽略空白 选项相同)

    • 所有仅由空白字符组成的已添加或已删除的行

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

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

高亮显示模式

选择差异的高亮方式。

可用选项为:

  • 全字匹配 :会高亮显示已修改的单词。

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

  • 拆分更改 :如果选择此选项,将把较大的更改拆分为较小的更改。

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

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

  • 无 :如果选择此选项,将完全不高亮显示差异。

    处理更改幅度较大的对象时,请使用 无 选项。 在这种情况下,高亮显示可能会给审阅带来额外困难。

同步滚动

同步滚动

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

设置按钮

设置

选择您希望在比较期间忽略的选项。

  • 显示空白字符 :在差异查看器中将空白字符显示为点。

  • 显示行号 :在差异查看器中显示行号。

  • 显示缩进参考线 :在差异查看器中显示竖线,以指示缩进位置。

  • 自动换行 :当调整对话框大小时,自动换行显示代码行。

  • 高亮级别 :允许您在差异查看器中选择 高亮级别。

  • 注解: 注解 更改。

帮助图标

帮助

F1

在浏览器中打开相应的帮助页面。

2026年 7月 14日