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 数据库可能会让你比较痛苦,可以参考官方的 移植指南 迁移至 PostgreSQL 。