이번 주 Rails 주요 업데이트
개별 어댑터별 마이그레이션 전략 지원
-
ActiveRecord.migration_strategy를 전역적으로 설정하는 것 외에, 이제 개별 어댑터 클래스에migration_strategy를 설정할 수 있습니다. -
이를 통해 특정 데이터베이스(예: PostgreSQL)에 대한 마이그레이션 실행 로직을 맞춤 설정할 수 있어, 보다 세밀한 제어가 가능해졌습니다.
EXPLAIN 쿼리에 해시 포맷 문법 지원
-
MySQL 및 PostgreSQL 어댑터의
EXPLAIN절 구성 시 해시 포맷으로 옵션을 전달할 수 있게 변경되었습니다. -
Car.all.explain(format: :json)과 같이FORMAT=JSON또는FORMAT JSON을 생성하여 출력 형식 지정의 유연성을 높였습니다.
로컬 CI를 위한 빠른 실패 모드
-
Minitest 및 RSpec과 유사하게
--fail-fast(또는-f) CLI 인자가 도입되어 로컬 CI 환경에서 테스트 실패 시 즉시 중단되는 기능이 추가되었습니다. -
이는 개발자가 문제점을 더 빠르게 식별하고 수정할 수 있도록 돕습니다.
DebugExceptions 미들웨어의 text/markdown 형식 지원
-
HTTP 클라이언트가
Accept헤더에서text/markdown을 선호할 경우, 마크다운 형식의 오류 응답을 반환하는 기능이 추가되었습니다. -
기존 텍스트 템플릿을
Content-Type: text/markdown으로 렌더링하여 Claude Code와 같은 CLI 도구에서 바이트/토큰 효율적인 오류 출력을 받을 수 있게 합니다.
MemoryStore에 LocalCache 전략 구현
-
ActiveSupport::Cache::MemoryStore에Strategy::LocalCache가 선행 추가되어 캐시 스토어의 공통 동작을 제공합니다. -
이는
MemoryStore가 다른 캐시 스토어(예:ActiveSupport::NullStore)와 동일한 인터페이스에 응답하도록 보장합니다.