This commit fixes a critical N+1 query issue in CheckTraefikVersionJob that was loading ALL proxy servers into memory then filtering in PHP, causing potential OOM errors with thousands of servers. Changes: - Added scopeWhereProxyType() query scope to Server model for database-level filtering using JSON column arrow notation - Updated CheckTraefikVersionJob to use new scope instead of collection filter, moving proxy type filtering into the SQL query - Added comprehensive unit tests for the new query scope Performance impact: - Before: SELECT * FROM servers WHERE proxy IS NOT NULL (all servers) - After: SELECT * FROM servers WHERE proxy->>'type' = 'TRAEFIK' (filtered) - Eliminates memory overhead of loading non-Traefik servers - Critical for cloud instances with thousands of connected servers 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| Browser | ||
| Feature | ||
| Traits | ||
| Unit | ||
| CreatesApplication.php | ||
| DuskTestCase.php | ||
| Pest.php | ||
| TestCase.php | ||