System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及數據庫管理技術,尤其涉及一種數據庫schema版本管理系統和方法。
技術介紹
1、在軟件開發過程中,對數據庫表的schema進行更改,或者使用生產環境數據進行測試是常見的需求。然而,直接在生產環境數據庫上進行schema修改或者數據測試存在著嚴重的安全風險。傳統的做法是由開發者自行做數據拷貝和脫敏,但過程往往過于繁瑣且缺乏標準化。
技術實現思路
1、本申請為了解決上述至少一項技術問題,提出一種數據庫schema版本管理方法,包括分支方法:在生產環境集群中創建生產分支,在開發環境集群中創建預發布分支和開發分支;生產分支部署為生產數據庫,開發分支部署為開發數據庫,預發布分支部署為預發布數據庫;當需要進行程序特性發開時,在開發環境集群中創建特性分支,特性分支部署為特性數據庫;
2、生產分支為預發布分支的父分支,預發布分支為生產分支的子分支;預發布分支為開發分支的父分支,開發分支為預發布分支的子分支;開發分支為特性分支的父分支,特性分支為開發分支的子分支,子分支通過復制其對應父分支的數據庫schema而創建;
3、還包括合并方法:將子分支對schema的修改同步應用到其對應的父分支。
4、優選的,所述特性分支包括一個或多個。
5、優選的,所述將子分支對schema的修改同步應用到父分支的方法,包括步驟:將子分支的schema覆蓋其對應父分支的schema。
6、優選的,所述將子分支對schema的修改同步應用到父分支的方
7、檢測需要合并的特性分支和其對應的父分支開發分支當前schema是否存在沖突,若沖突存在則不允許當前合并,若沖突不存在,則將當前需要合并的特性分支對schema的修改應用到其對應的父分支上。
8、優選的,所述生產分支、預發布分支和生產分支之間,采用將子分支的schema覆蓋其對應父分支的schema的方法,將子分支對schema的修改同步應用到父分支。
9、本申請還提出一種數據庫schema版本管理系統,包括如下結構:
10、在生產環境集群中的生產分支;在開發環境集群中的預發布分支、開發分支和特性分支;生產分支部署為生產數據庫,開發分支部署為開發數據庫,預發布分支部署為預發布數據庫,特性分支部署為特性數據庫;其中,特性數據庫用于對新的程序特性進行開發和測試;
11、生產分支為預發布分支的父分支,預發布分支為生產分支的子分支;預發布分支為開發分支的父分支,開發分支為預發布分支的子分支;開發分支為特性分支的父分支,特性分支為開發分支的子分支,子分支通過復制其對應父分支的數據庫schema而創建;其中,特性分支在需要進行特性開發時被創建;
12、還包括合并單元,用于將子分支對schema的修改同步應用到其對應的父分支。
13、優選的,所述特性分支包括一個或多個。
14、優選的,所述合并單元,用于將子分支的schema覆蓋其對應的父分支的schema。
15、優選的,所述合并單元,用于檢測需要合并的特性分支和其對應的父分支開發分支當前schema是否存在沖突,若沖突存在則不允許當前合并,若沖突不存在,則將當前需要合并的特性分支對schema的修改應用到其對應的父分支上。
16、優選的,所述生產分支、預發布分支和生產分支之間,采用將子分支的schema覆蓋其對應父分支的schema的方法,將子分支對schema的修改同步應用到父分支。
17、本專利技術具有如下有益效果:本申請提出的方案可以同時實現以下有益效果1)提出了基于分支和合并的schema版本管理流程,使得schema開發和代碼開發可以進行統一、自動化的管理,提高了開發、測試、發布過程的規范化。2)本方案中開發環境和生產環境位于不同的集群上,保證了開發操作不會影響生產環境,提高了系統的穩定性和可靠性。3)實現自動地復制生產環境數據到開發環境,節省了準備開發數據的時間,也使得數據更加真實。
本文檔來自技高網...【技術保護點】
1.一種數據庫Schema版本管理方法,其特征在于,包括分支方法:在生產環境集群中創建生產分支,在開發環境集群中創建預發布分支和開發分支;生產分支部署為生產數據庫,開發分支部署為開發數據庫,預發布分支部署為預發布數據庫;當需要進行程序特性發開時,在開發環境集群中創建特性分支,特性分支部署為特性數據庫;
2.根據權利要求1所述的一種數據庫Schema版本管理方法,其特征在于,所述特性分支包括一個或多個。
3.根據權利要求1或2所述的一種數據庫Schema版本管理方法,其特征在于,所述將子分支對Schema的修改同步應用到父分支的方法,包括步驟:將子分支的Schema覆蓋其對應父分支的Schema。
4.根據權利要求1或2所述的一種數據庫Schema版本管理方法,其特征在于,所述將子分支對Schema的修改同步應用到父分支的方法,包括步驟:
5.根據權利要求3所述的一種數據庫Schema版本管理方法,其特征在于,所述生產分支、預發布分支和生產分支之間,采用將子分支的Schema覆蓋其對應父分支的Schema的方法,將子分支對Schema
6.一種數據庫Schema版本管理系統,其特征在于,包括如下結構:
7.根據權利要求1所述的一種數據庫Schema版本管理系統,其特征在于,所述特性分支包括一個或多個。
8.根據權利要求6或7所述的一種數據庫Schema版本管理系統,其特征在于,所述合并單元,用于將子分支的Schema覆蓋其對應的父分支的Schema。
9.根據權利要求6或7所述的一種數據庫Schema版本管理系統,其特征在于,所述合并單元,用于檢測需要合并的特性分支和其對應的父分支開發分支當前Schema是否存在沖突,若沖突存在則不允許當前合并,若沖突不存在,則將當前需要合并的特性分支對Schema的修改應用到其對應的父分支上。
10.根據權利要求8所述的一種數據庫Schema版本管理系統,其特征在于,所述生產分支、預發布分支和生產分支之間,采用將子分支的Schema覆蓋其對應父分支的Schema的方法,將子分支對Schema的修改同步應用到父分支。
...【技術特征摘要】
1.一種數據庫schema版本管理方法,其特征在于,包括分支方法:在生產環境集群中創建生產分支,在開發環境集群中創建預發布分支和開發分支;生產分支部署為生產數據庫,開發分支部署為開發數據庫,預發布分支部署為預發布數據庫;當需要進行程序特性發開時,在開發環境集群中創建特性分支,特性分支部署為特性數據庫;
2.根據權利要求1所述的一種數據庫schema版本管理方法,其特征在于,所述特性分支包括一個或多個。
3.根據權利要求1或2所述的一種數據庫schema版本管理方法,其特征在于,所述將子分支對schema的修改同步應用到父分支的方法,包括步驟:將子分支的schema覆蓋其對應父分支的schema。
4.根據權利要求1或2所述的一種數據庫schema版本管理方法,其特征在于,所述將子分支對schema的修改同步應用到父分支的方法,包括步驟:
5.根據權利要求3所述的一種數據庫schema版本管理方法,其特征在于,所述生產分支、預發布分支和生產分支之間,采用將子分支的schema覆蓋其對應父分支的sc...
【專利技術屬性】
技術研發人員:郁光輝,邱瑋鴻,
申請(專利權)人:杭州云猿生數據有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。