기존 Rails의 스키마 덤퍼는 structure.sql
파일 내 버전 정보를 단순히 내림차순으로 정렬했습니다. 이러한 방식은 특히 여러 개발자가 동시에 작업하는 대규모 팀 환경에서 파일 상단 부분에 병합 충돌이 집중적으로 발생하는 원인이 되었습니다. 동일한 파일의 상단에서 빈번하게 발생하는 충돌은 개발 생산성을 저해하고 불필요한 재작업을 야기할 수 있었습니다.
이러한 문제를 해결하기 위해 Rails는 이제 스키마 덤퍼가 버전 정보를 포매팅하는 방식을 재정의할 수 있는 기능을 제공합니다. 새로운 기능은 개발자가 사용자 정의 포매터를 제공하여 버전 정렬 로직을 직접 제어할 수 있도록 합니다. 예를 들어, 버전의 해시 값을 기준으로 정렬하는 등의 사용자 정의 로직을 적용할 수 있습니다. 이를 통해 structure.sql
파일 내 버전 정보의 순서가 변경되더라도, 각 개발자의 변경사항이 특정 영역에만 집중되어 병합 충돌이 발생하는 빈도를 현저히 줄일 수 있습니다. 이 개선 사항은 대규모 Rails 프로젝트의 협업 효율성을 크게 향상시킬 것으로 기대됩니다. 이번 주에는 총 21명의 기여자가 Rails 코드베이스에 참여하여 활발한 개발이 이루어졌습니다.