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

サマリー

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

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

使用法

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

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

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

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

  • ジオデータベースは、バージョニングを使用することで、効率的にロング トランザクションを管理およびサポートできるように設計されています。

  • リコンサイル プロセスを実行すると、編集バージョンとターゲット バージョン間の差分が検出され、その差分に競合フラグを設定します。競合が発生している場合は、その競合を解決する必要があります。

  • [すべてのバージョンをリコンサイル] オプションを使用して正常にリコンサイル プロセスを実行すると、ジオデータベースのすべてのバージョンの状態が同じになります。

パラメーター

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

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

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

Workspace
リコンサイル モード

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

競合が検出された場合の解決策を指定します。

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

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

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

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

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

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

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

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

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

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

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

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

Boolean

派生した出力

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

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

ワークスペース

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

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

ワークスペース

コードのサンプル

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')

環境

特殊なケース

ライセンス情報

  • Basic: No
  • Standard: Yes
  • Advanced: Yes

関連トピック