Skip to content

Use foreign key to get latest MR diff

Sean McGivern requested to merge use-merge-requests-diff-id-column into master

What does this MR do?

Follow-up to https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/15035.

To do

  • Ensure that latest_merge_request_diff_id is set correctly after importing a project.
  • Set the post-deployment migration from https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/15035 to run again, this time as a regular migration.
  • Set a non-null constraint on merge_requests.latest_merge_request_diff_id, if possible.
  • Update existing preload / include / eager_load / etc. calls to use latest_merge_request_diff where appropriate.
  • Ensure that merge_request.latest_merge_request_diff.merge_request doesn't load the MR again.
  • Ensure that merge_request_diff.merge_request.latest_merge_request_diff doesn't load the diff again if this is the most recent diff.
  • Add specs for ManualInverseAssociation.
  • Check what happens when merge_request.latest_merge_request_diff is loaded but merge_request.merge_request_diff isn't, or vice versa.
  • Steal the background migration from https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/15440.

Does this MR meet the acceptance criteria?

What are the relevant issue numbers?

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/37631.

Edited by Yorick Peterse

Merge request reports