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 文章
頻道記錄
分享
部落格封存檔