Réconcilier une version (Gestion des données)
Récapitulatif
Réconcilie une ou plusieurs versions d'une version cible.
Utilisation
-
Le processus de réconciliation nécessite que vous soyez le seul utilisateur qui modifie actuellement la version et le seul utilisateur capable de modifier la version dans tout le processus de réconciliation jusqu'à son enregistrement ou sa réinjection.
Le processus de réconciliation nécessite que vous ayez pleinement accès à toutes les classes d'entités modifiées dans la version en cours de modification.
Les outils de versionnement fonctionnent uniquement avec les géodatabases d'entreprise (ArcSDE). Les géodatabases fichier et personnelles ne prennent pas en charge le versionnement.
La géodatabase est conçue pour gérer efficacement et prendre en charge des transactions longues à l'aide de versions.
Le processus de réconciliation détecte des différences entre la version mise à jour et la version cible et signale ces différences comme des conflits. Si des conflits existent, ils doivent être résolus.
Une fois le processus de réconciliation avec l'option 'ALL_VERSIONS' exécuté, toutes les versions dans la géodatabase ont le même aspect.
Syntaxe
Paramètre | Explication | Type de données |
input_database |
Géodatabase d'entreprise contenant les versions à réconcilier. L'option par défaut consiste à utiliser l'espace de travail défini dans l'environnement. | Workspace |
reconcile_mode |
Détermine les versions à réconcilier lorsque l'outil est exécuté.
| String |
target_version (Facultatif) |
Nom de toute version ayant un lien direct avec la version mise à jour telle que la version parent ou la version par défaut. Elle contient généralement des modifications provenant d'autres versions que l'utilisateur qui effectue la réconciliation souhaite extraire dans leur version mise à jour. | String |
edit_versions [edit_versions,...] (Facultatif) | Nom de la ou des versions mises à jour à réconcilier avec la version cible sélectionnée. Il peut s'agir du nom d'une version individuelle ou d'une liste Python de noms de version. | String |
acquire_locks (Facultatif) |
Détermine si une acquisition des verrous d'entités est nécessaire.
| Boolean |
abort_if_conflicts (Facultatif) |
Détermine si le processus de réconciliation doit être annulé si des conflits sont détectés entre la version cible et la version mise à jour.
| Boolean |
conflict_definition (Facultatif) |
Décrit les conditions requises pour que se produise un conflit.
| Boolean |
conflict_resolution (Facultatif) |
Décrit le comportement adopté en cas de conflit :
| String |
with_post (Facultatif) |
Réinjecte la session de mise à jour actuelle dans la version cible réconciliée.
| Boolean |
with_delete (Facultatif) |
| Boolean |
out_log (Facultatif) |
Spécifiez un nom et un emplacement où le fichier journal sera écrit. Le fichier journal est un fichier ASCII qui contient le contenu des messages de géotraitement. | File |
Exemple de code
Le script autonome suivant montre comment utiliser l'outil Réconcilier une version pour réconcilier toutes les versions possédées par l'utilisateur spécifié dans le fichier de connexion SDE.
# Name: ReconcileVersions.py
# Description: Reconciles all versions owned by a user with SDE.Default
# Import system modules
import arcpy, os
from arcpy import env
# Set workspace
workspace = r'c:\Connections\bender@production.sde'
# Set the workspace environment
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'