Navicat 博客

2017 年 10 月 16 日,由 Gavin 撰写

实用程序显示来自两个数据库的数据和对象之间的比较以查看差异。它表示在两个数据库中具有单独定义的对象,并以单独的样式形式选择呈现它们。数据的变化以 CSV、VERTICAL、GRID 或 TAB 的标准形式出现。

使用符号 db1:db2 并命名要比较的两个数据库,或者只比较 DB1 以比较两个相似名的数据库。

通过仅建议 server 1 替代,比较一个服务器上的两个不同名的数据库。用户还可以仅规定 server 1 选项来链接到另一个服务。但是,他们也可以规定 server 2 替代来链接到另一个服务器。在这种情况下,db1 取自 server 1,而 db2 取自 server 2。

你可以使用 all 选项比较两个服务器之间的所有数据库。在这种情况下,仅有效地比较两个服务器之间具有相似名的共同数据库。因此,你不必指定选项,但需要指定 server 1 和 server 2 替代。你可以使用 –exclude 选项跳过比较某些数据库。

请记住,在比较期间不应更改数据。如果在比较研究期间更改数据,你可能会看见错误。

在数据库中可选择的对象包括视图、过程、事件、函数、触发器和表。你可以使用 –vv 选项显示每种对象类型的计数。

检查是通过测试进行。默认情况下,当第一个测试失败时,实用程序会停止。但在使用了运行所有测试(run all tests)选项,无论最终状态如何,都能一起运行所有测试。

测试包括:

  • 评估数据库定义:确保两个数据库都存在。
  • 评估两个数据库中对象的存在:确保两个数据库都确认对象是存在的。
  • 对对象定义进行比较研究:比较对象并显示差异。
  • 评估表行计数:确保两个数据库表具有相似的行号。
  • 评估表数据的一致性:它确保数据库中每个表的已更改的行和缺少的行。该步骤分为两个阶段:首先在表之间比较完整的表。但如果失败了,则执行搜索行差异的程序。

你可能希望使用 – skip – xxx 函数来运行几个测试。如果要在同步两个数据库时忽略在过程中一次又一次地运行所有测试,这将非常有用。每项测试都会显示以下的结果:

  • Pass- 测试成功。
  • Fail- 测试失败。
  • Skip- 由于一个缺少的点而跳过测试。
  • Warn- 测试中发生了一个不寻常的错误。
  • - - 测试不适合该对象。

通过这些结果,可以了解测试是否成功以及是否需要再次进行测试。

Navicat 文章
频道条目
分享
文章归档