
백엔드
배치 로케일 오류 개선 사례
두줄요약
배치에서 로케일 기본값이 잘못 적용돼 한국어 부서명이 en에 저장되는 문제를 찾고 개선했습니다. 신규 등록 경로에는 언어 코드를 명시 전달하고 기존 데이터는 조건을 좁혀 안전하게 보정했습니다.
문제 상황
- 마이페이지에 부서별 역할 정보를 추가하던 중 일부 부서명이 빈 값으로 표시되는 현상 발견
- API 응답과 백엔드 조회는 정상처럼 보였지만, DB 저장된 다국어 키가 한국어는 ko가 아닌 en에 들어간 상태
원인 분석
- 조회 로직은 ko 기준이었으나 저장 데이터가 잘못된 언어 코드로 등록
- 배치에서 신규 부서를 등록할 때 LocaleContextHolder 기본 로케일이 en으로 잡혀 한국어 값이 en 키로 저장
해결 방법
- 배치·동기화 경로용 registerTenant 오버로드를 추가해 언어 코드를 명시 전달
- 병원 연동 배치의 신규 Stage 등록 시 ko를 직접 지정
- 기존 오염 데이터는 tenant_type, valid_yn, registered_by, ko 존재 여부 조건으로 범위를 좁혀 보정


