Fix N+1 query issue in bot_user method by using find_by #2164
+14
−1
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.
Description
The bot_user method in the TeamBotInstallation model was previously using the
where(...).last
approach to fetch the BotUser, which could result in unnecessary database queries when called multiple times. This fix optimizes the method by replacingwhere(...).last
withfind_by(id: ...)
, ensuring only a single query is executed per call.Changes:
where(...).last
withfind_by(id: ...)
in thebot_user
method.bot_user
.References: CV2-5848
How has this been tested?
A test has been added to verify that no additional queries are triggered when accessing the
bot_user
method multiple times on the same instance, ensuring that the optimized code works as expected and prevents potential N+1 query issues.Checklist