バージョンのリコンサイル (Reconcile Versions) (データ管理)

サマリー

ターゲットバージョンに対して 1 つまたは複数のバージョンをリコンサイルします。

バージョンをリコンサイルおよびポストする方法の詳細

使用法

  • リコンサイルを実行するには、バージョンを編集中のユーザーが自分だけであることと、バージョンの保存またはポストまでのリコンサイル プロセス全体を通じてバージョンを編集するユーザーが自分だけであることが前提要件となります。

  • リコンサイル プロセスを実行するには、編集中のバージョンで変更されたすべてのフィーチャクラスに対するフル アクセス権が必要です。

  • バージョニング ツールはエンタープライズ ジオデータベースで機能します。 ファイル ジオデータベースは、バージョニングをサポートしていません。

  • このツールは、バージョン管理機能が有効化されたブランチ ワークスペースから公開されたデータのリコンサイル処理とポスト処理をサポートしています。 ジオデータベース コネクション ファイルを使用したブランチバージョン対応のリコンサイル処理とポスト処理はサポートされていません。

  • ライセンス:
    ArcGIS Enterprise 11.2 以降でブランチ バージョニングの配置で操作する場合、このツールを使用するには、組織のメンバーに ArcGIS Advanced Editing ユーザー タイプ エクステンションのライセンスを割り当てる必要があります。

パラメーター

ラベル説明データ タイプ
入力ワークスペース

リコンサイルするバージョンを含むエンタープライズ ジオデータベース。

ブランチ バージョン対応の場合、これはフィーチャ サービスの URL (すなわち、https://mysite.mydomain/server/rest/services/ElectricNetwork/FeatureServer) またはフィーチャ レイヤーのポータル アイテムです。

Workspace
リコンサイル モード

ツールの実行時にリコンサイルするバージョンを指定します。

入力がブランチ ワークスペースである場合、このパラメーターの有効なオプションは、すべてのバージョンのリコンサイルのみとなります。

  • すべてのバージョンをリコンサイル編集バージョンはターゲット バージョンに対してリコンサイルされます。 これがデフォルトです。
  • ブロックしているバージョンのみリコンサイルターゲット バージョンの圧縮をブロックしているバージョンはリコンサイルされます。 このオプションでは、推奨されるリコンサイル順序が使用されます。
String
ターゲット バージョン
(オプション)

編集バージョンの直系に当たる任意の上位バージョン (親バージョンやデフォルト バージョンなど) の名前。

このバージョンは、通常、編集バージョンに含めたい他のバージョンからの編集内容を含んでいます。

入力がブランチ ワークスペースである場合、このパラメーターの有効なオプションは、デフォルト バージョンとのリコンサイルのみとなります。

String
編集バージョン
(オプション)

選択したターゲット バージョンに対してリコンサイルされる 1 つまたは複数の編集バージョンの名前。

選択したターゲット バージョンの直系に含まれるバージョンのみが表示されます。

String
ロックの取得
(オプション)

フィーチャのロックを取得するかどうかを指定します。

入力がブランチ ワークスペースである場合、リコンサイル プロセス中にロックは取得されません。

  • オン - リコンサイル プロセス中にロックを取得します。 編集データをポストするときに、このオプションを使用します。 こうすると、リコンサイルおよびポスト操作の間にターゲットのバージョンが変更されません。 これがデフォルトです。
  • オフ - リコンサイル プロセス中にロックを取得しません。 これにより、複数のユーザーが同時にリコンサイルを実行できます。 リコンサイルとポスト操作の間にターゲット バージョンが変更された可能性があるために、編集バージョンがターゲット バージョンにポストされないときに、このオプションを使用します。
Boolean
競合が検出された場合は中止
(オプション)

リコンサイル プロセス中にターゲット バージョンと編集バージョンの間の競合が検出された場合に、リコンサイル プロセスを中断するかどうかを指定します。

  • オン - 競合が検出された場合に、リコンサイルを中断します。
  • オフ - 競合が検出された場合に、リコンサイルを中断しません。 これがデフォルトです。
Boolean
競合の定義
(オプション)

競合が発生するために必要な条件が、オブジェクト (行) または属性 (列) のいずれによって定義されるかを指定します。

  • オブジェクト (行) 単位の競合競合をオブジェクト単位で定義。 親バージョン内と子バージョン内の同じ行またはフィーチャに加えたすべての変更に対して、リコンサイル中に競合を発生させます。 これがデフォルトです。
  • 属性 (列) 単位の競合競合を属性単位で定義。 親バージョン内と子バージョン内の同じ行またはフィーチャの同じ属性 (列) に加えた変更に対してのみ、リコンサイル中に競合フラグを設定します。 親バージョンと子バージョンで異なる属性に加えた変更は、リコンサイル中に競合とはみなされません。
String
競合解決
(オプション)

競合が検出された場合に使用される解決策を指定します。

入力がブランチ ワークスペースである場合、デフォルトでは、編集バージョンを優先します。

  • ターゲット バージョンを優先して競合を解決すべての競合は、ターゲット バージョンを優先して解決されます。 これは、トラディショナル バージョン対応のデフォルトです。
  • 編集バージョンを優先して競合を解決すべての競合は、編集バージョンを優先して解決されます。 これは、ブランチ バージョン対応の場合のデフォルトです。
String
リコンサイル後にバージョンをポスト
(オプション)

リコンサイル後のターゲット バージョンに、現在の編集セッションをポストするかどうかを指定します。

  • オン - リコンサイル後のターゲット バージョンに、現在の編集バージョンをポストします。
  • オフ - リコンサイル後のターゲット バージョンに、現在の編集バージョンをポストしません。 これがデフォルトです。
Boolean
ポスト後にバージョンを削除
(オプション)

リコンサイル後の編集バージョンを、ポストした後に削除するかどうかを指定します。 このパラメーターは、[リコンサイル後にバージョンをポスト] パラメーターをオンにした場合にのみ、適用されます。

  • オン - リコンサイルされた現在の編集バージョンを、ターゲット バージョンにポストした後に削除します。
  • オフ - リコンサイルされた現在の編集バージョンを削除しません。 これがデフォルトです。
Boolean
バージョンのリコンサイルのログ
(オプション)

出力されるログ ファイルの名前と場所。 ログ ファイルは、ジオプロセシング メッセージの内容を含む ASCII ファイルです。

File
未確認の競合が検出された場合の動作
(オプション)

リコンサイル プロセスを開始する前に、既存の未確認の競合が検出された場合に、リコンサイルを続行するかどうかを指定します。 続行すると、ツールの実行時に、前のセッションの既存の競合は失われます。 このパラメーターは、ブランチ バージョン対応にのみ適用されます。

  • オン - 既存の未解決の競合が検出された場合に、リコンサイル プロセスを続行します。 これがデフォルトです。
  • オフ - 既存の未解決の競合が検出された場合に、リコンサイル プロセスを続行しません。
Boolean
チェックアウト レプリカ バージョンのリコンサイル
(オプション)

リコンサイル プロセスにチェックアウト レプリカ バージョンを含めるかどうかを指定します。 ジオデータベース レプリケーション ワークフローの一環としてチェックアウト レプリカを作成している場合、関連付けられたバージョンがジオデータベースに作成されます。 このオプションを使用すると、リコンサイルするバージョンのリストにこれらのバージョン タイプを含めたり、リストから削除したりできます。 このパラメーターは、ブランチ バージョン対応には適用されません。

  • オン - リコンサイル プロセスに、チェックアウト レプリカ バージョンを含めます。 これがデフォルトです。
  • オフ - リコンサイル プロセスに、チェックアウト レプリカ バージョンを含めません。

Boolean

派生した出力

ラベル説明データ タイプ
更新された入力ワークスペース

更新された入力ワークスペース。

Workspace

arcpy.management.ReconcileVersions(input_database, reconcile_mode, {target_version}, {edit_versions}, {acquire_locks}, {abort_if_conflicts}, {conflict_definition}, {conflict_resolution}, {with_post}, {with_delete}, {out_log}, {proceed_if_conflicts_not_reviewed}, {reconcile_checkout_versions})
名前説明データ タイプ
input_database

リコンサイルするバージョンを含むエンタープライズ ジオデータベース。 デフォルトでは、ジオプロセシング ワークスペース環境が使用されます。

ブランチ バージョン対応の場合、これはフィーチャ サービスの URL (すなわち、https://mysite.mydomain/server/rest/services/ElectricNetwork/FeatureServer) です。

Workspace
reconcile_mode

ツールの実行時にリコンサイルするバージョンを指定します。

入力がブランチ ワークスペースである場合、このパラメーターの有効なオプションは、すべてのバージョンのリコンサイルのみとなります。

  • ALL_VERSIONS編集バージョンはターゲット バージョンに対してリコンサイルされます。 これがデフォルトです。
  • BLOCKING_VERSIONSターゲット バージョンの圧縮をブロックしているバージョンはリコンサイルされます。 このオプションでは、推奨されるリコンサイル順序が使用されます。
String
target_version
(オプション)

編集バージョンの直系に当たる任意の上位バージョン (親バージョンやデフォルト バージョンなど) の名前。

このバージョンは、通常、編集バージョンに含めたい他のバージョンからの編集内容を含んでいます。

入力がブランチ ワークスペースである場合、このパラメーターの有効なオプションは、デフォルト バージョンとのリコンサイルのみとなります。

String
edit_versions
[edit_versions,...]
(オプション)

選択したターゲット バージョンに対してリコンサイルされる 1 つまたは複数の編集バージョンの名前。 個別のバージョン名を指定するか、バージョン名のリストを指定します。

String
acquire_locks
(オプション)

フィーチャのロックを取得するかどうかを指定します。

  • LOCK_ACQUIREDリコンサイル プロセス中にロックを取得します。 編集データをポストするときに、このオプションを使用します。 こうすると、リコンサイルおよびポスト操作の間にターゲットのバージョンが変更されません。 これがデフォルトです。
  • NO_LOCK_ACQUIREDリコンサイル プロセス中にロックを取得しません。 これにより、複数のユーザーが同時にリコンサイルを実行できます。 リコンサイルとポスト操作の間にターゲット バージョンが変更された可能性があるために、編集バージョンがターゲット バージョンにポストされないときに、このオプションを使用します。
Boolean
abort_if_conflicts
(オプション)

リコンサイル プロセス中にターゲット バージョンと編集バージョンの間の競合が検出された場合に、リコンサイル プロセスを中断するかどうかを指定します。

  • NO_ABORT競合が検出された場合に、リコンサイルを中断しません。 これがデフォルトです。
  • ABORT_CONFLICTS競合が検出された場合に、リコンサイルを中断します。
Boolean
conflict_definition
(オプション)

競合が発生するために必要な条件が、オブジェクト (行) または属性 (列) のいずれによって定義されるかを指定します。

  • BY_OBJECT競合をオブジェクト単位で定義。 親バージョン内と子バージョン内の同じ行またはフィーチャに加えたすべての変更に対して、リコンサイル中に競合を発生させます。 これがデフォルトです。
  • BY_ATTRIBUTE競合を属性単位で定義。 親バージョン内と子バージョン内の同じ行またはフィーチャの同じ属性 (列) に加えた変更に対してのみ、リコンサイル中に競合フラグを設定します。 親バージョンと子バージョンで異なる属性に加えた変更は、リコンサイル中に競合とはみなされません。
String
conflict_resolution
(オプション)

競合が検出された場合に使用される解決策を指定します。

入力がブランチ ワークスペースである場合、デフォルトでは、編集バージョンを優先します。

  • FAVOR_TARGET_VERSIONすべての競合は、ターゲット バージョンを優先して解決されます。 これは、トラディショナル バージョン対応のデフォルトです。
  • FAVOR_EDIT_VERSIONすべての競合は、編集バージョンを優先して解決されます。 これは、ブランチ バージョン対応の場合のデフォルトです。
String
with_post
(オプション)

リコンサイル後のターゲット バージョンに、現在の編集セッションをポストするかどうかを指定します

  • NO_POSTリコンサイル後のターゲット バージョンに、現在の編集バージョンをポストしません。 これがデフォルトです。
  • POSTリコンサイル後のターゲット バージョンに、現在の編集バージョンをポストします。
Boolean
with_delete
(オプション)

リコンサイル後の編集バージョンを、ポストした後に削除するかどうかを指定します。 このパラメーターは、with_post パラメーターを POST に設定した場合にのみ、適用されます。

  • DELETE_VERSIONリコンサイルされた現在の編集バージョンを、ターゲット バージョンにポストした後に削除します。
  • KEEP_VERSIONリコンサイルされた現在の編集バージョンを削除しません。 これがデフォルトです。
Boolean
out_log
(オプション)

出力されるログ ファイルの名前と場所。 ログ ファイルは、ジオプロセシング メッセージの内容を含む ASCII ファイルです。

File
proceed_if_conflicts_not_reviewed
(オプション)

リコンサイル プロセスを開始する前に、既存の未確認の競合が検出された場合に、リコンサイルを続行するかどうかを指定します。 続行すると、ツールの実行時に、前のセッションの既存の競合は失われます。 このパラメーターは、ブランチ バージョン対応にのみ適用されます。

  • PROCEED既存の未解決の競合が検出された場合に、リコンサイル プロセスを続行します。 これがデフォルトです。
  • NOT_PROCEED既存の未解決の競合が検出された場合に、リコンサイル プロセスを続行しません。
Boolean
reconcile_checkout_versions
(オプション)

リコンサイル プロセスにチェックアウト レプリカ バージョンを含めるかどうかを指定します。 ジオデータベース レプリケーション ワークフローの一環としてチェックアウト レプリカを作成している場合、関連付けられたバージョンがジオデータベースに作成されます。 このオプションを使用すると、リコンサイルするバージョンのリストにこれらのバージョン タイプを含めたり、リストから削除したりできます。 このパラメーターは、ブランチ バージョン対応には適用されません。

  • RECONCILEリコンサイル プロセスに、チェックアウト レプリカ バージョンを含めます。 これがデフォルトです。
  • DO_NOT_RECONCILEリコンサイル プロセスに、チェックアウト レプリカ バージョンを含めません。
Boolean

派生した出力

名前説明データ タイプ
out_workspace

更新された入力ワークスペース。

Workspace

コードのサンプル

ReconcileVersions (バージョンのリコンサイル) の例 (スタンドアロン スクリプト):

次のスタンドアロン スクリプトは、ReconcileVersions 関数を使用して、データベース コネクション ファイルで指定されたユーザーが所有するすべてのバージョンをリコンサイルする方法を示しています。

# Name: ReconcileVersions.py
# Description: Reconciles all versions owned by a user with SDE.Default

# Import system modules
import arcpy, os

# Set workspace
workspace = 'C:/Data/connections/bender@production.sde'

# Set the workspace environment
arcpy.env.workspace = workspace

# Use a list comprehension to get a list of version names where the owner
# is the current user and make sure sde.default is not selected.
verList = [ver.name for ver in arcpy.da.ListVersions() if ver.isOwner
           == True and ver.name.lower() != 'sde.default']

arcpy.ReconcileVersions_management(workspace,
                                   "ALL_VERSIONS",
                                   "SDE.Default",
                                   verList,
                                   "LOCK_ACQUIRED",
                                   "NO_ABORT",
                                   "BY_OBJECT",
                                   "FAVOR_TARGET_VERSION",
                                   "NO_POST",
                                   "KEEP_VERSION",
                                   "c:\RecLog.txt")
print('Reconciling Complete')

関連トピック