Mongoid 업그레이드
Mongoid는 사용자가 새 버전으로 마이그레이션할 수 있는 안정적인 업그레이드 경로를 제공합니다.
버전 관리
각 Mongoid 출시하다 에는 major.minor.patch
형식의 버전 번호가 있습니다. Mongoid 7.4 부터 시작, Mongoid는 시맨틱 버전 관리(SemVer) 를 사용합니다. , 이는 일반적으로 다음을 의미합니다.
단절적 변경, 새로운 기능 활성화 및 더 이상 사용되지 않는 기능 제거는 주요 버전 릴리스에서만 수행됩니다.
새로운 기능은 기능 플래그를 사용하여 추가되며, 이는 옵트인 구성 변경을 통해 활성화해야 합니다. 이러한 기능 플래그는 메이저 또는 마이너 릴리스에 추가될 수 있습니다.
이 기능은 주요 또는 부 릴리스에서 더 이상 사용되지 않는 것으로 표시될 수 있지만, 늦어도 다음 주요 릴리스까지는 제거되지 않습니다.
패치 버전 릴리스에는 호환성이 손상되지 않는 수정 사항과 보안 업데이트만 포함됩니다.
경고
Mongoid 7.3 및 이전 버전은 SemVer를 엄격하게 준수하지 않으며 마이너 버전 릴리스에도 호환성이 손상되는 변경이 포함될 수 있습니다. 사용자는 이러한 버전으로 업그레이드할 때 더욱 주의해야 합니다.
Mongoid 업그레이드 방법
업그레이드하기 전에
테스트 커버리지: 업그레이드 후에도 애플리케이션 이 계속 작동하는지 확인하는 가장 좋은 방법은 프로세스 를 시작하기 전에 테스트 커버리지를 잘 확보하는 것입니다.
Ruby 및 Rails 업그레이드: 'Ruby on Rails 업그레이드'를 참조하세요. 자세한 내용은
Mongoid 업그레이드
다음은 새 Mongoid 버전으로 업그레이드 하기 위해 권장되는 절차를 간략하게 설명합니다.
각 마이너 버전으로 개별적으로 업그레이드합니다.
예를 예시, Mongoid 7.4 에서 8.1 로 업그레이드하는 경우, 각 마이너 버전의 최신 패치 버전에 대해 이 절차를 수행하는 것이 좋습니다. 먼저 7.5.x로, 8.0.x로, 마지막으로 8.1.x로 이동합니다.
업그레이드하기 전에
load_defaults
이(가) 현재 버전으로 설정하다 되어 있는지 확인하세요.현재 버전에서 아직 최신 동작을 활성화하지 않은 경우 업그레이드하기 전에 활성화해야 합니다.
업그레이드할 때 릴리스 노트 를 주의 깊게 검토하세요.
새 버전에서 앱 을 테스트합니다.
앱 은
load_defaults
또는 기능 플래그를 _조정하지 _없이_' 새 Mongoid 버전에서 '있는 그대로' 테스트하고 출시해야 합니다.4 단계가 안정적인 것으로 확인되면
load_defaults
을 새 버전으로 설정하다 활성화 새 기능을 사용하도록 설정합니다. 또한 현재 사용 중단 경고를 수정합니다.기능 플래그를 사용하여 새로운 기능을 하나씩 활성화 할 수도 있습니다.
기본값 및 기능 플래그 로드
기능 플래그가 도입되면 이전(레거시) 기능을 유지하는 기본값을 갖게 됩니다. 현재 사용자는 새 기능을 사용해 보려면 플래그를 새 값으로 수동으로 설정하는 것이 좋습니다.
다음 주요 버전 출시하다 에서는 새 기능을 활성화 하기 위해 플래그의 기본값 이 변경됩니다. 현재 플래그 자체는 사용 중단됨으로 표시됩니다. 마지막으로, 사용 중단된 플래그는 후속 주요 버전 출시하다 에서 구성에서 완전히 제거될 예정입니다.
기능 플래그는 업그레이드를 용이하게 하기 위해 추가되지만 영구적으로 지원되는 것은 아닙니다.
사용 중단 정책
Mongoid는 때때로 기능, 메서드, 상수 등을 더 이상 사용하지 않을 수 있습니다. 이를 위해 Mongoid는 다음 조치 중 하나 이상을 수행할 수 있습니다:
코드 주석에서 관련 코드를
@deprecated
로 표시합니다.더 이상 사용되지 않는 기능을 사용하는 경우 로그 경고를 추가합니다.
그러면 Mongoid는 다음 주요 버전 릴리스에서 더 이상 사용되지 않는 기능을 제거할 수 있습니다.
@api private
로 표시된 메서드는 Ruby 에서 public
인 경우에도 지원 중단 없이 제거될 수 있습니다.