Gitlab officially announced that it will no longer support MySQL databases starting with version 12.1. As early as July 2017, Gitlab plans to deprecate support for MySQL. The current decision will start with version 12.1.
The official list of places where MySQL does not meet Gitlab requirements:
- We can’t support nested groups with MySQL in a performant way
- We have to use hacks to increase limits on columns and this can lead to MySQL refusing to store data
- MySQL can’t add
TEXTtype column without
- MySQL doesn’t support partial indexes
- These limitations have already created a number of places where MySQL was already not supported (including with Geo)
To solve these problems, Gitlab has created the number of code specifically for MySQL. In some cases, this makes the merge request twice as complex as they must support the second database backend. Creating and maintaining this code consumes GitLab cycle time and speed and reduces GitLab iteration values. It also slows GitLab down because GitLab CI system will run our test suite twice, once for each backend. Removing support for MySQL can reduce the time and cost of CI jobs. These costs eventually become quite impressive.
All in all, Gitlab feels that both the MySQL and PostgreSQL databases are supported, making the development team annoyed. In addition, according to the Gitlab survey, most of the users who use MySQL are users before version 11.
So, if you want to upgrade to Gitlab 12.1, then your old MySQL database can make you more pain. You can refer to the official migration guide.