Skip to content

Fix N+1 query on dashboard (workshop host) - #2782

Merged
mroderick merged 1 commit into
masterfrom
feature/fix-dashboard-eager-loading
Aug 5, 2026
Merged

Fix N+1 query on dashboard (workshop host)#2782
mroderick merged 1 commit into
masterfrom
feature/fix-dashboard-eager-loading

Conversation

@mroderick

Copy link
Copy Markdown
Collaborator

What

Adds :workshop_host to the eager_load in DashboardQuery.upcoming_events, resolving the eager-loading detection bullet logged for GET /.

Why

DashboardQuery.upcoming_events (app/queries/dashboard_query.rb) loaded workshop_host lazily on each workshop when rendering the front page, triggering an N+1 detected by Rails' eager-loading checker.

USE eager loading detected
  Workshop => [:workshop_host]
  Add to your query: .includes([:workshop_host])

The query already uses eager_load for :chapter, :sponsors, :organisers, :permissions, so :workshop_host joins the same preload.

Verification

bundle exec rspec spec/queries/dashboard_query_spec.rb — 9 examples, 0 failures.

Add workshop_host to eager_load in DashboardQuery.upcoming_events.
Resolves the eager-loading detection bullet for GET /.
@mroderick
mroderick force-pushed the feature/fix-dashboard-eager-loading branch from ff0cd4a to b4be22b Compare August 5, 2026 10:35
@mroderick
mroderick marked this pull request as ready for review August 5, 2026 10:36
@mroderick
mroderick merged commit c1e40b0 into master Aug 5, 2026
10 checks passed
@mroderick
mroderick deleted the feature/fix-dashboard-eager-loading branch August 5, 2026 12:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants