Use foreign key to get latest MR diff
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 butmerge_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?
-
Changelog entry added, if necessary - Review
-
Has been reviewed by Backend -
Has been reviewed by Database
-
-
Conform by the merge request performance guides -
Conform by the style guides -
Squashed related commits together
What are the relevant issue numbers?
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/37631.
Edited by Yorick Peterse