Remove approvals_before_merge
support
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
Problem
In the past we extracted approval rules from the field approvals_before_merge
in merge_requests
table into a separate approval_rules
table.
For backward compatibility, we added DeprecatedApprovalsBeforeMerge
module that updates ApprovalRules
for each update of approvals_before_merge
field.
It's time to remove this abstraction and delete the field from the merge_requests table.
Proposal
We still have some endpoints that directly update approvals_before_merge
field. But we can adapt them to skip this step and update ApprovalRules instead. See an example.
There are a few usages left:
- In
ProjectsHelpers
- In
API::ProjectApprovals
- In
API::MergeRequests
- In
MergeRequests::ApplicationController
Each of this steps can be a separate issue, because they are independent from one another.
After replacing old approvals_before_merge
code with ApprovalRules services calls, we can remove DeprecatedApprovalsBeforeMerge
module and delete the approvals_before_merge
field from the database.