例¶
以下のシナリオは、一意性検出機能を有効にすることが重要な理由を示した例です。
一意性検出が有効になっています。
ジョンはデータベース
DB1で、スコットはデータベースDB2で作業をしています。いずれのデータベースも、VCS リポジトリ内の同じデータベースにリンクしています。
いずれのデータベースも現在同じ状態であり、以下のエレメントが格納されています。
F1という名前のフォルダF2という名前のフォルダF1内に配置されているDS1という名前のデータソースF1内に配置されているV1という名前のビュー
すべてのエレメントが最新の状態で、ローカル変更はありません。
ジョンが
V1をF2に移動して、変更をチェックインします。スコットが
V1を変更して、変更をチェックインします。Virtual DataPort は、
V1の異なるバージョン間で一意性の競合が生じたことを検出します。一方はF1に配置されていて、ローカル変更が加えられたバージョンであり、もう一方は、現在はF2に配置されているリモートバージョンです。スコットは強制的にチェックインしたので、
V1は再びF1に配置され、独自の変更が含まれています。
ジョンは
V1を変更します。このビューはジョンのデータベースDB1ではまだフォルダF2にあります。ジョンはデータベースをチェックアウトします。Virtual DataPort は、
V1の異なるバージョン間で一意性の競合が生じたことを検出します。一方はF2に配置されていて、ローカル変更が加えられたバージョンであり、もう一方は、現在はF1に配置されているリモートバージョンです。ジョンは強制的にチェックアウトしたので、
V1は現在F1に配置され、スコットが前回実行したチェックインに対応する変更が含まれています (ジョンは強制的にチェックアウトした後に、自身のローカル変更が失われることに同意)。
注釈
手順 3 で、Virtual DataPort は移動を検出し、この移動が安全である場合でも、ジョンにチェックインの確認を求めます。現在、これは一意性検出機能の既知の制限事項となっています。エレメントの移動では常に、変更のチェックイン時に明示的な確認が求められます。
