表結構發布流程化可保障您在自助變更表結構的同時,滿足企業的設計規範、不同資料庫環境之間相關表結構的一致性,大大提升生產發布的成功率。本文以自訂結構設計流程為例為您介紹規範、安全的表結構發布流程,流程節點包括設計結構(Develop,簡稱Dev)、測試(Test)、生產發布(Product)。
背景資訊
|
結構設計功能 |
說明 |
|
保障生產發布的成功率 |
在發布新的表結構至生產環境之前,將依照研發流程對錶結構在各個節點進行驗證,以避免未經過驗證的指令碼直接發布到生產環境而導致發布失敗,保障生產發布的成功率。 |
|
保障環境結構的一致性 |
系統會依據研發流程對每個資料庫環境進行結構變更,以避免因部分環境未執行而導致的測試延誤及專案整體發版進展延誤等。 |
|
保障資料結構的規範性 |
結構設計的研發規範涵蓋建立表、修改表欄位、修改表索引等近40條標準,以便研發人員自助設計符合企業研發規範的表結構,可以有效避免因不符合規範的結構發布上線而引發的生產故障。同時,該功能可減少營運人員檢查規範的人員投入,並提升研發效率,從而有效支撐快速迭代和發布工作。更多資訊,請參見表結構設計規範。 |
方案概覽
-
自訂研發流程(可選):系統預設的研發流程為設計結構(Dev)> 生產發布(Product)。您可以自訂新的研發流程以滿足業務需求。
-
設定資料庫執行個體的安全規則(可選):為資料庫執行個體關聯安全規則(包含自訂研發流程)。
-
資料庫結構設計:提交結構設計工單,保障多套資料庫之間相關表結構的一致性、生產發布的成功率。
本樣本準備的測試環境
-
建立三個RDS MySQL資料庫執行個體,並在對應執行個體下建立帳號和資料庫。建立操作,請參見(廢棄,重新導向到“第一步”)快速建立RDS MySQL執行個體。
本樣本中執行個體名稱分別為Schema_Design-dev、Schema_Design-test、Schema_Design-product。
本樣本中資料庫名稱分別為dev_database、test_database、product_database。
-
使用阿里雲主帳號(有管理員或DBA許可權)將建立的三個資料庫執行個體錄入至DMS中,並將執行個體的管控模式都設定為安全協同,將資料庫環境類型分別設定為開發(Dev)、測試(Test)、生產(Product)。更多資訊,請參見雲資料庫錄入。
資料庫執行個體與結構設計各節點的對應關係
1. 自訂研發流程規則
以下步驟將介紹建立安全規則並配置表結構設計的步驟,研發流程為設計結構(Dev)、測試(Test)、生產發布(Product)。
1.1 登入DMS並進入安全規則頁面
-
單擊控制台左上方的
表徵圖,選擇。
若您使用的是非極簡模式的控制台,在頂部功能表列中,選擇。
1.2 建立安全規則(可選)
在安全規則頁面,單擊左上方的新增規則集按鈕,新增一個規則集。本樣本以建立SD-DT為例。
成功建立安全規則後,DMS將自動進入該規則的詳情頁面。
在彈出的對話方塊中,引擎類型 選擇 MySQL,填寫規則集名稱和備忘後,單擊 提交。
1.3 自訂研發流程
在安全規則中配置研發流程,以明確表結構設計的步驟及每個步驟允許的操作。
-
(可選)單擊安全規則右側的編輯,進入安全規則 詳情 頁面。
說明如果待編輯的安全規則是新建立的,可跳過該步驟。
-
在安全規則 詳情 頁面左側的導覽列中,單擊結構設計。
-
在結構設計頁簽中,單擊研發流程右側操作列中的編輯。
-
將第二條節點名稱改為
測試,將庫環境改為test。 -
新增第三條節點,將第三條節點名稱改為
生產發布,將庫環境改為product,同時將該節點設定為 錨點 。說明錨點為工單編輯的凍結點,即錨點所在步驟成功發布之後,工單將會變成發行狀態,不可編輯。
完成所有節點配置後,單擊提交。
-
單擊提交。
-
2. 設定執行個體的安全規則
將Schema_Design-dev執行個體(環境類型為Dev)的管控模式設定為安全協同並選擇SD-DT安全規則。
-
在控制台首頁左側的執行個體列表中,按右鍵Schema_Design-dev資料庫執行個體。
-
在彈出的列表中,選擇。
3. 資料庫結構設計
以下步驟以建立資料庫的表結構變更為例,向您介紹設計結構(Dev)、測試(Test)、生產發布(Product)三節點的結構設計專案。
3.1 進入DMS結構設計功能頁面
在頂部功能表列中,選擇。
說明若您使用的是極簡模式的控制台,請單擊控制台左上方的
表徵圖,選擇。-
單擊頁面右上方的結構設計。
3.2 配置結構設計工單資訊
-
建立結構設計工單。
在建立工單頁面選擇變更基準庫為開發環境的資料庫,其他參數請您自行填寫。
本樣本變更基準庫選擇dev_database。
表單中其他參數包括專案名稱、專案背景、安全規則、關聯迭代和變更相關人,填寫完成後單擊提交。
-
在設計結構節點,給dev_database資料庫中建立表。
-
單擊匯入SQL語句,填入建立表的SQL,再單擊確定。
-
單擊儲存,並在彈出的預檢測結果對話方塊中單擊確認無誤,提交儲存。
-
單擊執行變更到基準庫。
-
在提示面板中選擇執行策略,確認執行SQL的正確性,再單擊確定。
-
等待審批人手動審批通過,系統會將新的表結構寫入到dev_database資料庫中。
在變更執行歷史頁簽中,可查看 teacher 表的執行結果,狀態為成功,進度 100%,執行策略為立即執行。
-
單擊進入下一節點。
說明在進行該項操作前,請您自行在該節點對dev_database資料庫進行多次變更設計與驗證,系統最終會產生一個
create指令碼,發布到下個節點。
-
-
在測試節點中,將上一節點中建立的表結構同步至測試庫中。
-
單擊執行變更到目標庫。
-
選擇test_database資料庫,並將執行策略設定為立刻執行,單擊確定。
執行指令碼地區顯示建表語句:建立名為
teacher的表,包含teacher_id、teacher_name、phonenumber三個欄位,主鍵為teacher_id,字元集 utf8,表注釋為"教師表"。 -
審批完成後,系統會將變更的結構寫入到test_database資料庫中。
重要下一節點為有錨點的生產發布節點,進入該節點後將不允許回退到上一節點進行設計或發佈動作。
-
單擊進入下一節點。
-
-
在生產發布(錨點)節點,將表結構同步至生產庫中。
-
單擊執行變更到目標庫。
-
選擇product_database資料庫,並將執行策略設定為立刻執行,單擊確定。
-
提交執行後請等待審批完成。
待審批完成後,系統會將變更的結構寫入到product_database資料庫中,您也可以將資料寫入product_database資料庫。
-
單擊進入下一節點後,結構設計流程將會結束,工單也會自動關閉。
-
相關操作
-
瞭解安全規則中結構設計模組的具體規則,請參見安全規則之結構設計模組。
-
瞭解結構設計功能的使用情境、功能特性等資訊,請參見結構設計。
-
通過API擷取結構設計工單的發布情況。