前提條件
- 目前結構對比的支持數據庫類型有:MySQL、Postgresql。源數據庫實例和目標數據庫實例的數據庫類型需要相同。
- 結構對比目前為企業版功能,請用戶使用該功能前,切換到DMS企業版,切換步驟及實例注意事項詳見 版本說明 。
- 結構對比要求當前用戶以及登錄實例的賬戶,擁有源數據庫和目標數據庫的查詢權限。如需要添加對比的數據庫到DMS,請詳見 實例管理 。
功能介紹
結構對比功能支持同構數據庫中,不同表及可編程對象之間的結構差異對比,即比較庫/模式之間的元數據信息是否一致,并生成差異化腳本(變更SQL)供用戶自行復制執行,以修復源庫和目標庫結構不一致的情況。
例如:可對比兩個表的基本信息、字段、索引、約束(主鍵、唯一鍵、check約束等)是否一致。生成的變更SQL不涉及表名稱的變更。
另外,結構對比還支持可編程對象類型的對比。例如MySQL數據庫支持的可編程對象有:視圖、函數、事件,Postgresql數據庫支持的可編程對象有:視圖、函數、存儲過程、序列、觸發器。
說明
結構對比功能只展示元數據差異信息,不對源庫和目標庫之間進行結構同步,請用戶自行復制對比結果的變更SQL到目標庫執行。
變更SQL可能涉及到表中字段的增刪改操作,請用戶謹慎操作。
生成的變更SQL不涉及表和可編程對象名稱的變更,即目標表或可編程對象名不變。
操作步驟
- 登錄數據管理服務。
- 在左側菜單欄,點擊 開發空間>結構對比,進入結構對比工單列表頁面。
- 點擊結構對比按鈕,打開新建結構對比工單填寫界面,工單輸入說明如下:
輸入內容 說明 源數據庫 從數據庫/模式列表中選擇對比源,目前源數據庫支持的數據庫類型有:MySQL、PostgreSQL。 目標數據庫 從數據庫/模式列表中選擇對比目標。
用戶選擇了源數據庫之后,目標數據庫列表中只能選擇相同數據庫類型的列表。
如果重新選擇了目標數據庫,則下面的對比內容列表則會清空。
對比內容 選擇表或可編程對象進行結構對比。 不同數據庫類型,支持展示的對比內容類型不同:
MySQL:表、視圖、函數、事件。
PostgreSQL:表、視圖、函數、存儲過程、序列、觸發器。
如果選擇了“部分表”,則用戶需要手動逐行添加對比源和對比目標名稱。如果選擇了“全部表”,則會選擇源和目標之間的全部同名對象進行結構對比。
工單說明 描述工單備注內容。
4.選擇好對比源和目標中的內容之后,點擊“提交”,返回結構對比工單列表。
5.點擊對比工單號或“詳情”,可查看對比工單的概括內容,如對比對象的數目、進度條等。
6.如果對比工單狀態為“執行中”或“執行成功”,可點擊“對比結果頁面”,查詢對比內容是否一致,以及它們的DDL和變更SQL。用戶可通過復制變更SQL到變更工單或查詢窗口執行,也可以直接點擊變更SQL彈窗中的“發起變更”按鈕跳轉到變更工單頁,以修復源和目標對象結構不一致的情況。