Gitlab 官方宣布,將從 12.1 版本開始不再支持 MySQL 數據庫。早在 2017年7月,Gitlab 就計划將棄用對 MySQL 的支持。而目前這個決定將從 12.1 版本開始。
編輯注: 配圖與本文無關 :D
官方列出幾個 MySQL 不能滿足 Gitlab 要求的地方:
- 無法支持嵌套分組查詢(詳情)
- 必須使用黑科技來提升 MySQL 對列的限制,這將導致 MySQL 拒絕存儲數據
- MySQL 無法添加
TEXT
類型字段的長度限制 - MySQL 不支持分區索引
- 還有類似 Geo
為了解決上面這些問題,Gitlab 創建了許多專門針對 MySQL 的代碼。 在某些情況下,這導致合並請求的復雜性要高一倍,因為它們必須支持第二個數據庫后端。 創建和維護這些代碼會消耗我們的循環時間和速度,並且會降低我們的迭代值。
它也使我們變慢,因為我們的CI系統將運行我們的測試套件兩次,每個后端一次。 刪除對MySQL的支持可縮短CI作業的時間,並降低成本。 這些成本最終變得相當可觀。
總而言之,Gitlab 覺得同時支持 MySQL 和 PostgreSQL 兩個數據庫,讓開發團隊覺得煩不勝煩。
此外據 Gitlab 調查發現,使用 MySQL 的多是 11 版本之前的用戶。
所以,如果你想升級到 Gitlab 12.1 版本的話,那么你老的 MySQL 數據庫可能會讓你比較痛苦。可以參考官方的移植指南。