文件首頁
MySQL Workbench 手冊
相關文件 下載本手冊
PDF (美式 Letter) - 17.0Mb
PDF (A4) - 17.0Mb


9.5.1 資料庫同步

在模型、資料庫和 SQL 檔案之間同步資料。這三種類型可以是目標(目的地)、來源或兩者。您也可以選取或取消選取個別物件,並在同步期間修改其方向。例如,您可以在同一個同步程序中,將表格從模型同步到資料庫、將其他表格從資料庫同步到模型,並略過一些表格。

注意

請注意,隨著時間的推移,會引入向後不相容的 MySQL 語法變更,因此,務必根據您的需求設定 預設目標 MySQL 版本 建模偏好設定。例如,從 MySQL 5.7 目標匯出的結果,在針對 MySQL 5.6 執行時可能會產生無效的語法。另請參閱第 3.2.4 節,〈建模偏好設定〉

若要開始,請從 資料庫 導覽選單中選取 與任何來源同步,如下圖所示。或者,選取 同步模型 以開啟預設為模型的相同精靈。必須選取模型或 EER 圖表,這些同步選項才會出現在 資料庫 導覽選單下。

圖 9.56:啟動同步精靈

Content is described in the surrounding text.

注意

由於 MySQL 資料庫對應於資料目錄中的目錄,因此您必須考慮資料庫、表格和觸發器名稱的大小寫區分,這些名稱遵循作業系統的基礎檔案系統的大小寫區分規則。將模型與大小寫不同的物件同步,可能會導致 MySQL Workbench 為該物件產生 DROP 陳述式,然後以小寫重新建立它。如需更多資訊,請參閱識別碼大小寫區分

因應措施包括使用一致的慣例,其中最可移植的程式碼使用小寫的資料庫和表格名稱。或者,暫時的因應措施是從產生的查詢中刪除 DROP SCHEMA IF EXISTS 行。

MySQL Workbench 可讓您控制要同步的物件,以及每個物件的同步方向。同步選項包括

  • 指定要同步的所有或特定表格和物件。

  • 同步模型和即時資料庫,或僅更新其中一個(單向或雙向)。

  • 可選擇從 SQL 指令碼檔案更新或更新至 SQL 指令碼檔案。

  • 您可以產生 ALTER 指令碼檔案 以稍後執行適當的更新,而不是執行同步。

  • 透過選擇每個個別物件的方向或設定要忽略的特定物件,微調同步的執行方式。

資料庫 選單中有兩個類似的資料庫同步精靈。較簡單的 同步模型 精靈,以及更彈性的 與任何來源同步 精靈。以下描述適用於兩者,除非另有說明。

同步模型(與資料庫)

若要啟動精靈,請開啟模型,然後從主選單中選取 資料庫同步模型。依照步驟順序操作,直到您到達 選取要套用的變更 步驟,如下圖所示。

圖 9.57:模型和資料庫差異

Content is described in the surrounding text.

在先前的範例中,即時資料庫和模型都有 moviesshows 表格。在 MySQL Workbench 中,在模型中建立了額外的表格 educational,但它在即時資料庫中沒有對應的表格。此外,friends 存在於即時資料庫中,但它不在模型中。根據預設,動作會將資料庫與模型同步,因此在本範例中,educational 表格將會新增至來源,而 friends 表格將會從來源中移除。

如 GUI 中所述,按兩下箭頭會在 更新模型忽略更新來源 動作之間切換。您也可以選取一個列,然後按一下三個動作按鈕之一。另請注意,按一下列會顯示相關聯的 SQL 陳述式,如上圖所示。

下圖顯示如何變更同步方向的範例。

圖 9.58:控制同步方向

Content is described in the surrounding text.

在此案例中,同步方向已變更,因此不是預設動作將 friends 從即時資料庫中刪除,而是將其併入 MySQL Workbench 模型中。與之前一樣,educational 表格將會新增至即時 (來源) 資料庫。

可用的三個動作如下

  • 更新模型:導致將選取的變更從即時資料庫套用至模型。

  • 忽略:導致忽略變更。不會對這些變更進行同步。這以被劃掉的雙箭頭表示。

  • 更新來源:導致僅將變更套用至即時資料庫。

按一下 表格對應 會提供其他對應選項,如下圖所示。

圖 9.59:表格對應

Content is described in the surrounding text.

按一下 下一步 會顯示 SQL 陳述式,以執行已設定的模型和即時資料庫(來源)同步。下圖顯示預覽範例。

圖 9.60:預覽同步 SQL 陳述式

Content is described in the surrounding text.

您現在可以將 SQL 陳述式儲存至檔案或剪貼簿,或執行 SQL 陳述式。如果您選擇在 MySQL Workbench 中執行變更,則您可以選擇略過「資料庫變更」,以便僅變更您的模型。

與任何來源同步

若要啟動精靈,請開啟模型,然後從主選單中選取 資料庫,然後選取 與任何來源同步。步驟與同步模型精靈類似,但具有建立 SQL 指令碼檔案、使用 SQL 指令碼檔案或兩者的其他選項。下圖顯示 選取來源 設定。

圖 9.61:與任何來源同步:選取來源

Content is described in the surrounding text.

請注意如何變更來源和目的地類型。後續步驟取決於這些來源和目的地類型,而 同步模型 描述此精靈的基本功能。