管理データベースへの遷移

DCM では、オブジェクトの管理コピーを、他のデータベースからのそれ自身のコピーによって上書きすることは許可されていません。

例えば、あるオブジェクトがデータベース A で作成され、integrate 状態に遷移され、データベース B に複製されるとします。このオブジェクトはデフォルトでデータベース A で管理されます。データベース B では、オブジェクトは integrate から released に遷移します。 デフォルトでは、オブジェクトがデータベース B から A に送信される場合、A のオブジェクトは更新されずに integrate 状態のままとなります。 オブジェクトを「所有」するのはデータベース A であるため、この動作は意図的なものです。 このような保護がないと、データベース A でそのオブジェクトがリリース済みのプロジェクトに含まれているにも関わらず、別のデータベースのビルド・マネージャーによって、当該オブジェクトが rejected 状態に遷移される可能性があります。

単一のコンポーネントまたはアプリケーションが複数のデータベースにまたがって開発されている場合、非管理データベースで行われる一部の遷移を管理データベースに適用できるようにしたい場合があります。ただし、このような遷移を適用したくない場合もあります。例えば、integrate から released への遷移は複製して管理データベースへ戻したいが、integrate から rejected または released から rejected への遷移は戻したくない場合です。

DCM 受信では、転送パッケージ内のオブジェクトが送信先データベースで管理されている場合、DCM は既存のオブジェクトの状態と他のデータベースから受け取ったオブジェクトの状態を調べます。DCM は受信の制御遷移の DCM 設定を調べ、遷移が許可されている場合はオブジェクトを新しい状態へ遷移します。ただし、オブジェクトの他のプロパティーは更新されず、そのオブジェクトはスキップされたオブジェクトのレポートに残ります。status_log 属性は、遷移の実行元のデータベースを示し、その遷移が以前に管理データベースで適用されたときのエントリーも含みます。


フィードバック