Skip To Content

Réconcilier des versions (Gestion des données)

Résumé

Réconcilie une ou plusieurs versions avec une version cible.

En savoir plus sur la réconciliation et la réinjection des versions

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 avec les géodatabases d’entreprise. Les géodatabases fichier ne prennent pas en charge le versionnement.

  • Cet outil prend en charge la réconciliation/réinjection des données publiées à partir d’un espace de travail de branche avec les fonctionnalités de gestion des versions activées. La réconciliation/réinjection pour le versionnement de branche via un fichier de connexion à une géodatabase n’est pas prise en charge.

  • 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 Reconcile all versions (Réconcilier toutes les versions) exécuté, toutes les versions dans la géodatabase ont le même aspect.

Syntaxe

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})
ParamètreExplicationType de données
input_database

Géodatabase d'entreprise contenant les versions à réconcilier. L’option par défaut consiste à utiliser l’environnement d’espace de travail de géotraitement.

Pour le versionnement de branche, il s’agit de l’URL du service d’entités (c’est-à-dire, https://mysite.mydomain/server/rest/services/ElectricNetwork/FeatureServer).

Workspace
reconcile_mode

Spécifie les versions à réconcilier lorsque l’outil est exécuté.

Si l’entrée est un espace de travail de branche, le seul choix valide pour ce paramètre est de réconcilier toutes les versions.

  • ALL_VERSIONSRéconcilie des versions mises à jour avec la version cible. Il s’agit de l’option par défaut.
  • BLOCKING_VERSIONSRéconcilie des versions qui empêchent la version cible d’être compressée. Cette option utilise l'ordre de réconciliation recommandé.
String
target_version
(Facultatif)

Nom de toute version ayant un lien direct avec la version de mise à jour, telle que la version parent ou la version par défaut.

Elle contient généralement des mises à jour provenant d’autres versions que voulez inclure dans votre version mise à jour.

Si l’entrée est un espace de travail de branche, le seul choix valide pour ce paramètre est de procéder à la réconciliation avec la version par défaut.

String
edit_versions
[edit_versions,...]
(Facultatif)

Nom de la version de mise à jour à réconcilier avec la version cible sélectionnée. Il peut s’agir du nom d’une version individuelle ou d’une liste de noms de version.

String
acquire_locks
(Facultatif)

Spécifie si l’acquisition des verrous d’entités est nécessaire.

  • LOCK_ACQUIREDLes verrouillages sont acquis pendant le processus de réconciliation. Utilisez cette option lorsque vous avez l’intention d’injecter des mises à jour. Elle permet de garantir que la version cible ne sera pas modifiée au cours du laps de temps entre les opérations de réconciliation et de réinjection. Il s’agit de l’option par défaut.
  • NO_LOCK_ACQUIREDLes verrouillages ne sont pas acquis pendant le processus de réconciliation. Cela permet à plusieurs utilisateurs d'effectuer une réconciliation en parallèle. Utilisez cette option lorsque la version de mise à jour n’est pas réinjectée dans la version cible en raison de la possibilité que la version cible soit modifiée dans le laps de temps entre les opérations de réconciliation et de réinjection.
Boolean
abort_if_conflicts
(Facultatif)

Spécifie si le processus de réconciliation doit être annulé si des conflits sont détectés entre la version cible et la version de mise à jour au cours du processus de réconciliation.

  • NO_ABORTLa réconciliation n’est pas annulée si des conflits sont détectés. Il s’agit de l’option par défaut.
  • ABORT_CONFLICTSLa réconciliation est annulée si des conflits sont détectés.
Boolean
conflict_definition
(Facultatif)

Indique si les conditions requises pour la survenance d’un conflit sont définies par un objet (ligne) ou un attribut (colonne).

Si l’entrée est un espace de travail de branche, les conflits au niveau des attributs ne sont pas pris en charge. Le seul choix possible pour ce paramètre consiste à définir les conflits au niveau des lignes (par objet).

  • BY_OBJECTUn conflit est détecté lors de la réconciliation dès lors qu'une même ligne ou entité a été modifiée dans les versions parent et enfant. Il s’agit de l’option par défaut.
  • BY_ATTRIBUTEUn conflit est détecté lors de la réconciliation uniquement si des modifications sont apportées au même attribut (colonne) de la même ligne ou de la même entité dans les versions parents et enfants. Les modifications effectuées sur des attributs différents ne génèrent pas de conflit lors de la réconciliation.
String
conflict_resolution
(Facultatif)

Spécifie la résolution en cas de conflit.

Si l’entrée est un espace de travail de branche, le comportement par défaut consiste à favoriser la version de mise à jour.

  • FAVOR_TARGET_VERSIONTous les conflits sont résolus en faveur de la version cible. Il s’agit de l’option par défaut.
  • FAVOR_EDIT_VERSIONTous les conflits sont résolus en faveur de la version de mise à jour.
String
with_post
(Facultatif)

Spécifie si la session de mise à jour actuelle est réinjectée dans la version cible réconciliée.

  • NO_POSTLa version de mise à jour actuelle ne sera pas réinjectée dans la version cible après la réconciliation. Il s’agit de l’option par défaut.
  • POSTla version de mise à jour actuelle sera réinjectée dans la version cible après la réconciliation.
Boolean
with_delete
(Facultatif)

Spécifie si la session de mise à jour actuelle sera supprimée après avoir été réinjectée. Ce paramètre ne s’applique que si le paramètre with_delete est défini sur POST.

  • DELETE_VERSIONLa version de mise à jour actuelle qui a été réconciliée sera supprimée après avoir été réinjectée dans la version cible.
  • KEEP_VERSIONLa version de mise à jour actuelle qui a été réconciliée ne sera pas supprimée. Il s’agit de l’option par défaut.
Boolean
out_log
(Facultatif)

Nom et emplacement dans lequel le fichier journal est écrit. Le fichier journal est un fichier ASCII qui contient le contenu des messages de géotraitement.

File
proceed_if_conflicts_not_reviewed
(Facultatif)

Indique si la réconciliation doit se poursuivre lorsque des conflits non examinés sont présents avant de lancer le processus de réconciliation. Si vous choisissez de poursuivre, les conflits restants issus des sessions précédentes seront perdus lors de l’exécution de l’outil. Ce paramètre ne s’applique pas au versionnement de branche.

  • PROCEEDLe processus de réconciliation se poursuit si des conflits restants n’ont pas été examinés. Il s’agit de l’option par défaut.
  • NOT_PROCEEDla réconciliation ne se poursuit pas si des conflits restants qui n’ont pas été examinés sont détectés.
Boolean

Sortie dérivée

NomExplicationType de données
out_workspace

Espace de travail en entrée mis à jour.

Espace de travail

Exemple de code

Exemple d’utilisation de l’outil ReconcileVersions (script autonome)

Le script autonome suivant montre comment utiliser l’outil ReconcileVersions pour réconcilier toutes les versions que l’utilisateur spécifié possède dans le fichier de connexion à une base de données.

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

Informations de licence

  • Basic: Non
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes