Create database table to track approved approvers for v2 approval rules
Table which stores mr approvers post-merge for compliance purposes.
Requirements:
Create merge_requests_approval_rules_approved_approvers table with:
- Columns:
-
approval_rule_id(bigint, NOT NULL, composite PK) -
user_id(bigint, NOT NULL, composite PK) -
group_id(bigint, nullable) -
project_id(bigint, nullable)
-
- Composite primary key on
(approval_rule_id, user_id) - Foreign keys:
-
approval_rule_id→merge_requests_approval_rules.id(cascade on delete) -
user_id→users.id(cascade on delete)
-
- Indexes on sharding keys (
group_id,project_id) - Sharding key validation/exemptions
NB, validate these requirements during implementation and adjust as needed.
Reference: POC implementation in poc/v2-approval-rules-complete branch
Edited by Gavin Hinfey