架构比较与迁移
启用 数据库工具和 SQL 插件
此功能依赖 数据库工具和 SQL 插件,该插件在 PyCharm 中默认随附并启用。 如果相关功能不可用,请确保未禁用该插件。
按 Ctrl+Alt+S 打开设置,然后选择 。
打开 已安装 选项卡,找到 数据库工具和 SQL 插件,并选中插件名称旁的复选框。
在 PyCharm 中,您可以比较两个相同类型的数据库对象。 例如,您可以比较两个架构、两个表或两个例程。 包含这些对象的数据库可以托管在不同的服务器上。 PyCharm 会在 迁移 对话框中显示这两个对象的结构差异。
迁移 是将结构和更改从一个对象传输到另一个对象的过程(例如,从一个架构到另一个架构)。 在 PyCharm 中,这些对象分别称为 起始 和 目标。 会生成迁移脚本,使 目标 与 起始 相同。 但您可以根据需求修改脚本。

对于更改,PyCharm 使用以下颜色编码。
颜色 | 说明 |
|---|---|
| 在 起始 中添加的对象,若迁移成功,将在 目标 中创建。 |
| 已修改的对象,将在 目标 中更改。 |
| 在 起始 中删除的对象,若迁移成功,将在 目标 中删除。 |
请参阅 参考部分 中的对话框控件说明。
架构比较
显示对象之间的差异
在 数据库 工具窗口中,选择两个相同类型的对象。 例如,两个架构。
右键点击所选内容,然后选择 比较结构。 或者,按 Ctrl+D。

以表格形式显示更改的差异
在 迁移 对话框中,点击 起始 或 目标 字段中的某一项。
点击 对象属性差异 选项卡。
在 DDL 中显示更改的差异
在 迁移 对话框中,点击 起始 或 目标 字段中的某一项。
点击 DDL 差异 选项卡。

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


架构迁移
在对象之间迁移更改
在 数据库 工具窗口中,选择两个相同类型的对象。 例如,两个架构。
右键点击所选内容,并在上下文菜单中选择 比较结构。 或者,按 Ctrl+D。
会在 脚本预览 选项卡中生成一组可用于编写迁移脚本的语句。
在 脚本预览 选项卡中,验证迁移脚本是否正确。
点击 执行。 或者,点击 在控制台中打开查询 在 查询文件 中打开所有脚本。
选择要迁移的更改
要排除某项更改,请点击该更改旁边的复选框。
要排除所有更改,请点击 目标 标签旁边的复选框。
要包含所有已排除的更改,请点击 目标 标签旁边的复选框。
迁移对话框的控件
图标 | 工具提示和快捷键 | 说明 |
|---|---|---|
全部展开 | 展开所有已折叠的节点。 | |
全部收起 | 折叠所有已展开的节点。 | |
交换 | 交换 起始 和 目标 面板。 | |
选项 |
| |
包含更改 | 应用所选更改。 | |
显示相同对象 | 显示所有相同的项。 |
DDL 差异的控件
项 | 工具提示和快捷键 | 说明 |
|---|---|---|
| 上一个差异/下一个差异 Shift+F7/F7 | 跳转到下一个或上一个差异。 |
跳转到源 F4 | 在编辑器的活动窗格中打开所选对象的定义。 插入符号会放置在与 差异查看器 中相同的位置。 | |
并排查看器 | 选择查看器模式: 并排查看器 或 统一查看器。 并排模式包含两个面板,统一模式包含一个面板。 | |
空白字符 | 定义差异查看器应如何处理空白字符。
| |
高亮显示模式 | 选择差异的高亮方式。 可用选项包括:
| |
同步滚动 | 同步左侧和右侧窗格中的滚动。 | |
设置 | 选择您希望在比较期间忽略的选项。 | |
帮助 F1 | 打开浏览器并显示相应的帮助页面。 |