먼저, index_exists?
메서드에서 컬럼 이름을 선택적으로 지정할 수 있도록 변경되었습니다. 이는 remove_index
의 서명과 일치시켜 인덱스 이름이 컬럼 이름에서 파생될 필요가 없도록 함으로써 개발자가 인덱스 존재 여부를 확인할 때 더 큰 유연성을 제공합니다. 이는 데이터베이스 스키마 관리의 편의성을 높이는 개선 사항입니다.
다음으로, VSCode를 사용하지 않는 개발자들을 위해 개발 컨테이너 정보를 활용할 수 있는 스크립트가 추가되었습니다. 이 스크립트는 devcontainer.json
파일을 읽어 해당 정보에 기반하여 Docker 명령을 실행할 수 있도록 지원합니다. 이는 개발 환경 설정의 자유도를 높여 특정 IDE에 종속되지 않고도 일관된 개발 환경을 구축할 수 있게 돕습니다.
가장 주목할 만한 변경 사항 중 하나는 비영구(unpersisted) 연관 관계를 가진 레코드에 insert_all
또는 upsert_all
메서드를 사용할 경우 경고를 발생시키도록 변경된 점입니다. 기존에는 이러한 상황에서 비영구 레코드가 손실될 수 있었으나, 이제는 명확한 경고를 통해 개발자가 잠재적인 데이터 손실을 인지하고 적절한 조치를 취할 수 있도록 유도합니다. 이 경고는 Rails 8.2 버전에서는 오류로 전환될 예정이므로, 개발자들은 이 변경 사항에 유의하여 코드베이스를 업데이트해야 합니다. 이는 데이터 무결성 보장 측면에서 매우 중요한 개선입니다.
이 외에도 이번 주 Rails 코드베이스에는 다양한 개선 사항과 버그 수정이 이루어졌으며, 총 34명의 기여자가 활발하게 참여하여 프로젝트 발전에 기여했습니다.