Mongoid のアップグレード
Mongoid は、新しいバージョンに移行するユーザーのための安定したアップグレード パスを提供します。
バージョン管理
各 Mongoid リリースには、 major.minor.patch
形式のバージョン番号があります。 Mongoid 7.4以降、 Mongoid は セマンティック バージョン管理(SemVer) を使用します は、通常、次のことを意味します。
重大な変更、新機能の有効化、非推奨機能の削除は、メジャー バージョン リリースでのみ行われます。
新しい機能は 機能フラグ を使用して追加されます。このフラグは、オプトイン構成の変更によって有効にする必要があります。 これらの機能フラグは、メジャー リリースまたはマイナー リリースのいずれかで追加される可能性があります。
機能は、メジャー リリースまたはマイナー リリースで非推奨としてマークされる場合がありますが、少なくとも次のメジャー リリースまで機能は削除されません。
パッチ バージョン リリースには、重大じゃない修正とセキュリティ更新のみが含まれます。
警告
Mongoid 7.3以前と これらのバージョンにアップグレードする際には、さらに注意が必要です。
Mongoid のアップグレード方法
アップグレードする前に
テスト範囲:アップグレード後もアプリケーションが引き続き動作することを確認する最良の方法は、プロセスを開始する前に適切なテスト カバレッジを確保することです。
Ruby と Rails をアップグレードする: 「Rails で Ruby をアップグレードする」 を参照してください 詳細については、
Mongoid のアップグレード
以下は、新しい Mongoid バージョンにアップグレードするための推奨手順の概要です。
各マイナー バージョンに個別にアップグレードします。
たとえば、Mongoid 7.4から8.1にアップグレードする場合、各マイナー バージョンの最新のパッチ バージョンについて次の手順に従うことをお勧めします。例: 最初は7.5 .x に、次に8.0 .x に、 最後に8.1 .x に設定します。
アップグレードする前に、
load_defaults
が現在のバージョンに設定されていることを確認してください。現在のバージョンで最新の動作を有効にしていない場合は、アップグレードする前に有効にする必要があります。
アップグレードする際には、 リリースノートを慎重に確認してください。
新しいバージョンでアプリをテストします。
アプリは、
load_defaults
または機能フラグを調整せずに、新しい Mongoid バージョンで「そのまま」でテストおよびリリースする必要があります。ステップ4が安定していることが確認されたら、
load_defaults
を新しいバージョンに設定して新しい機能を有効にします。 この時点で非推奨警告も修正します。機能フラグを使用して、新しい機能を 1 つずつ有効にすることもできます。
ロードデフォルトと機能フラグ
機能フラグが導入されると、以前の(レガシー)機能を保持するデフォルト値になります。 現時点では、ユーザーは、新しい機能を試すために、 フラグを新しい値に手動で設定することをお勧めします。
次のメジャー バージョン リリースでは、 フラグのデフォルト値が反転され、新しい機能が有効になります。 この時点で、フラグ自体は非推奨としてマークされます。 最後に、非推奨フラグは、その後のメジャー バージョン リリースで 構成から完全に削除されます。
機能フラグはアップグレードを容易にするために追加されていますが、永続的にサポートされることを意図したものではありません。
非推奨ポリシー
Mongoid は、機能、機能、メソッド、定数などを時々非推奨にする可能性があります。 そのために、Mongoid は次のアクションの 1 つ以上を実行する可能性があります。
コードコメントで関連するコード
@deprecated
をマークします。非推奨の機能が使用されている場合のログ警告を追加します。
Mongoid は、次のメジャー バージョン リリースで非推奨の機能を削除する可能性があります。
@api private
でマークされたメソッドは、Ruby でpublic
であっても非推奨なしに削除される場合があります。