Drop 'title' and 'description' columns from services table
Description
It's not possible to modify the title
and description
of the services from the UI nor the API. It makes sense because the integration's title and description are going to be always the same. These values are hardcoded as virtual methods in the services, eg:
In the case of issue trackers, this information could be in different places: attributes or properties but we use again virtual methods IssueTrackerService#L28-48
, and, in the end, this information is coming hardcoded in the different issue tracker services:
If we have title
and description
always coming as virtual methods (not from the database columns) we can drop the columns.
- We have to update the issue trackers to change
default_title
anddefault_description
totitle
anddescription
respectively. - Then, we can drop the columns.
Why?
services
is an old and legacy table (the first record is from 2011
), often when we have to do something with this table we have to deal with more problems than other tables and it's more difficult to work with the services
, run migration scripts, queries, etc. Reducing the number of columns would help us move in the right direction. More context !31320 (comment 340504691).
Releases
https://docs.gitlab.com/ee/development/what_requires_downtime.html#dropping-columns
Removing columns is tricky because running GitLab processes may still be using the columns. To work around this safely, you will need three steps in three releases:
-
Ignoring the column %13.2 !33298 (merged) -
Dropping the column %13.3 !37936 (merged) -
Removing the ignore rule %13.4 !39728 (merged)