Gitlab 官方宣布,将从 12.1 版本开始不再支持 MySQL 数据库。早在 2017年7月,Gitlab 就计划将弃用对 MySQL 的支持。而目前这个决定将从 12.1 版本开始。官方列出几个 MySQL 不能满足 Gitlab 要求的地方:
-
无法支持嵌套分组查询(详情)
-
必须使用黑科技来提升 MySQL 对列的限制,这将导致MySQL 拒绝存储数据
-
MySQL无法添加
TEXT
类型字段的长度限制 -
MySQL不支持分区索引
-
还有类似Geo
为了解决上面这些问题,Gitlab 创建了许多专门针对 MySQL 的代码。 在某些情况下,这导致合并请求的复杂性要高一倍,因为它们必须支持第二个数据库后端。 创建和维护这些代码会消耗我们的循环时间和速度,并且会降低我们的迭代值。
它也使我们变慢,因为我们的CI系统将运行我们的测试套件两次,每个后端一次。 删除对MySQL的支持可缩短CI作业的时间,并降低成本。 这些成本最终变得相当可观。
总而言之,Gitlab 觉得同时支持 MySQL 和 PostgreSQL 两个数据库,让开发团队觉得烦不胜烦。
此外据 Gitlab 调查发现,使用 MySQL 的多是 11 版本之前的用户。
所以,如果你想升级到 Gitlab 12.1 版本的话,那么你老的 MySQL 数据库可能会让你比较痛苦。可以参考官方的移植指南。