全部產品
Search
文件中心

Data Management:表結構發布流程化

更新時間:Oct 25, 2024

表結構發布流程化可保障您在自助變更表結構的同時,滿足企業的設計規範、不同資料庫環境之間相關表結構的一致性,大大提升生產發布的成功率。本文以自訂結構設計流程為例為您介紹規範、安全的表結構發布流程,流程節點包括設計結構(Develop,簡稱Dev)、測試(Test)、生產發布(Product)。

背景資訊

結構設計功能

說明

保障生產發布的成功率

在發布新的表結構至生產環境之前,將依照研發流程對錶結構在各個節點進行驗證,以避免未經過驗證的指令碼直接發布到生產環境而導致發布失敗,保障生產發布的成功率。

保障環境結構的一致性

系統會依據研發流程對每個資料庫環境進行結構變更,以避免因部分環境未執行而導致的測試延誤及專案整體發版進展延誤等。

保障資料結構的規範性

結構設計的研發規範涵蓋建立表、修改表欄位、修改表索引等近40條標準,以便研發人員自助設計符合企業研發規範的表結構,可以有效避免因不符合規範的結構發布上線而引發的生產故障。同時,該功能可減少營運人員檢查規範的人員投入,並提升研發效率,從而有效支撐快速迭代和發布工作。更多資訊,請參見表結構設計規範

方案概覽

  1. 自訂研發流程(可選):系統預設的研發流程為設計結構(Dev)> 生產發布(Product)。您可以自訂新的研發流程以滿足業務需求。

  2. 設定資料庫執行個體的安全規則(可選):為資料庫執行個體關聯安全規則(包含自訂研發流程)。

  3. 資料庫結構設計:提交結構設計工單,保障多套資料庫之間相關表結構的一致性、生產發布的成功率。

本樣本準備的測試環境

  1. 建立三個RDS MySQL資料庫執行個體,並在對應執行個體下建立帳號和資料庫。建立操作,請參見快速建立RDS MySQL執行個體

    本樣本中執行個體名稱分別為Schema_Design-dev、Schema_Design-test、Schema_Design-product。

    本樣本中資料庫名稱分別為dev_database、test_database、product_database。

  2. 使用阿里雲主帳號(有管理員或DBA許可權)將建立的三個資料庫執行個體錄入至DMS中,並將執行個體的管控模式都設定為安全協同,將資料庫環境類型分別設定為開發(Dev)、測試(Test)、生產(Product)。更多資訊,請參見雲資料庫錄入

    錄入執行個體圖示

    image

資料庫執行個體與結構設計各節點的對應關係

1. 自訂研發流程規則

以下步驟將介紹建立安全規則並配置表結構設計的步驟,研發流程為設計結構(Dev)、測試(Test)、生產發布(Product)。

1.1 登入DMS並進入安全規則頁面

  1. 登入Data Management 5.0

  2. 單擊控制台左上方的2023-01-28_15-57-17.png表徵圖,選擇全部功能 > 安全與規範 > 安全規則

  3. 說明

    若您使用的是非極簡模式的控制台,在頂部功能表列中,選擇安全與規範 > 安全規則

1.2 建立安全規則(可選)

安全規則頁面,單擊左上方的新增規則集按鈕,新增一個規則集。本樣本以建立SD-DT為例。

成功建立安全規則後,DMS將自動進入該規則的詳情頁面。

image

1.3 自訂研發流程

在安全規則中配置研發流程,以明確表結構設計的步驟及每個步驟允許的操作。

  1. (可選)單擊安全規則右側的編輯,進入安全規則詳情頁面。

    說明

    如果待編輯的安全規則是新建立的,可跳過該步驟。

  2. 在安全規則詳情頁面左側的導覽列中,單擊結構設計

  3. 結構設計頁簽中,單擊研發流程右側操作列中的編輯

    1. 將第二條節點名稱改為測試,將庫環境改為test

    2. 新增第三條節點,將第三條節點名稱改為生產發布,將庫環境改為product,同時將該節點設定為錨點

      說明

      錨點為工單編輯的凍結點,即錨點所在步驟成功發布之後,工單將會變成發行狀態,不可編輯。

      image

    3. 單擊提交

2. 設定執行個體的安全規則

將Schema_Design-dev執行個體(環境類型為Dev)的管控模式設定為安全協同並選擇SD-DT安全規則。

  1. 在控制台首頁左側的執行個體列表中,按右鍵Schema_Design-dev資料庫執行個體。

  2. 在彈出的列表中,選擇管控模式 > 安全協同 > SD-DT

    image

3. 資料庫結構設計

以下步驟以建立資料庫的表結構變更為例,向您介紹設計結構(Dev)、測試(Test)、生產發布(Product)三節點的結構設計專案。

3.1 進入DMS結構設計功能頁面

  1. 登入Data Management 5.0
  2. 在頂部功能表列中,選擇資料庫開發 > 結構變更 > 結構設計

    說明

    若您使用的是極簡模式的控制台,請單擊控制台左上方的2023-01-28_15-57-17.png表徵圖,選擇全部功能 > 資料庫開發 > 結構變更 > 結構設計

  3. 單擊頁面右上方的結構設計

3.2 配置結構設計工單資訊

  1. 建立結構設計工單。

    建立工單頁面選擇變更基準庫為開發環境的資料庫,其他參數請您自行填寫。

    本樣本變更基準庫選擇dev_database。

    image

  2. 設計結構節點,給dev_database資料庫中建立表。

    1. 單擊匯入SQL語句,填入建立表的SQL,再單擊確定

      建立表的SQL樣本

      CREATE TABLE `teacher` (
          `teacher_id` varchar(20) NOT NULL COMMENT '教師編號',
          `teacher_name` varchar(20) NULL COMMENT '教師名字',
          `phonenumber` varchar(20) NULL COMMENT '教師電話號碼',
          PRIMARY KEY (`teacher_id`)
      ) DEFAULT CHARSET=utf8 COMMENT='教師表';

      image

    2. 單擊儲存,並在彈出的預檢測結果對話方塊中單擊確認無誤,提交儲存

      image

    3. 單擊執行變更到基準庫

    4. 在提示面板中選擇執行策略,確認執行SQL的正確性,再單擊確定

    5. 等待審批人手動審批通過,系統會將新的表結構寫入到dev_database資料庫中。

      image

    6. 單擊進入下一節點

      說明

      在進行該項操作前,請您自行在該節點對dev_database資料庫進行多次變更設計與驗證,系統最終會產生一個create指令碼,發布到下個節點。

  3. 測試節點中,將上一節點中建立的表結構同步至測試庫中。

    1. 單擊執行變更到目標庫

    2. 選擇test_database資料庫,並將執行策略設定為立刻執行,單擊確定

      image

    3. 審批完成後,系統會將變更的結構寫入到test_database資料庫中。

      重要

      下一節點為有錨點的生產發布節點,進入該節點後將不允許回退到上一節點進行設計或發佈動作。

    4. 單擊進入下一節點

  4. 在生產發布(錨點)節點,將表結構同步至生產庫中。

    1. 單擊執行變更到目標庫

    2. 選擇product_database資料庫,並將執行策略設定為立刻執行,單擊確定

      image

    3. 提交執行後請等待審批完成。

      待審批完成後,系統會將變更的結構寫入到product_database資料庫中,您也可以將資料寫入product_database資料庫。

    4. 單擊進入下一節點後,結構設計流程將會結束,工單也會自動關閉。

      image

相關操作