Remove unnecessary peer_review_id foreign key #6397
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation and Context
Results have many peer reviews so the foreign key that associates these two tables should be (and it already is) on the peer_reviews table. The extra foreign key on the results table wasn't really being used as any association, it was just being used as a flag that this result is associated with a peer review.
This set up causes a circular association (peer reviews need to reference results which need to reference peer reviews) which is unnecessary and complicates other functionality like archiving.
This PR removes the foreign key from the results table and updates the code to use use the has_many association that already exists when looking for peer reviews that are associated with results.
Your Changes
Description:
Type of change (select all that apply):
Testing
Questions and Comments (if applicable)
Checklist
Pull request to make documentation changes (if applicable)