Clarify DBRE vs DB Maintainer review requirement for database changes

Summary

The current wording in the C1 and C2 Approval sections:

All the database changes related should have a review by a DBRE.

is ambiguous and has caused confusion in practice, as surfaced in gitlab-com/gl-infra/production#22002 (comment 3326617577).

Problem

There is an important distinction between two types of database changes:

  • Database service changes (infrastructure, configuration, replication, backup strategy, etc.) — DBREs are the right reviewers here.
  • Database model changes (migrations, schema changes, FK removals, etc.) — these are application-layer changes, equivalent to application code changes deployed on app servers. DBREs do not have the domain expertise to evaluate these; a DB Maintainer (Backend Engineer) is the appropriate reviewer.

Asking DBREs to review every database model change is analogous to asking SREs to review every application code deployment.

Changes

Updates both the C1 and C2 Approval sections to replace the single blanket statement with two explicit rules that make the distinction clear.

Merge request reports

Loading