Synthèse
Répertorie les versions dans l'espace de travail.
Discussion
Vous pouvez définir le chemin d'accès à un fichier de connexion ou l'URL du service d'entité comme argument de la fonction ou définir l'environnement de l'espace de travail sur le fichier de connexion ou l'URL du service d'entités et appeler la fonction ListVersions sans aucun argument.
Remarque :
La fonction arcpy.da.ListVersions ne doit pas être confondue avec la fonction arcpy.ListVersions, qui permet de renvoyer une liste des noms de version pouvant être utilisés par l'utilisateur connecté.
Syntaxe
ListVersions (sde_workspace)
Paramètre | Explication | Type de données |
sde_workspace | An enterprise geodatabase workspace or a feature service with version management capability enabled. | String |
Exemple de code
Identifier toutes les versions modifiées au cours de la semaine passée.
import arcpy
import datetime
# Use datetime to establish current date/time
#
now = datetime.datetime.now()
sdeConnection = "C:/MyProject/toolboxDEFAULTVersion.sde"
# Compare lastModified property of each version to current date, and
# print version name if the version was modified in the last 7 days.
#
for version in arcpy.da.ListVersions(sdeConnection):
if (now - version.lastModified).days < 7:
print(version.name)
Supprimer toutes les versions appartenant à un utilisateur donné sans enfants.
import arcpy
sdeConnection = "C:/MyProject/toolboxDEFAULTVersion.sde"
for version in arcpy.da.ListVersions(sdeConnection):
# Delete any versions owned by "RJones" that don't have any children
#
if version.name.split(".")[0] == "RJones" and not version.children:
print("Deleting version {0}".format(version.name))
arcpy.DeleteVersion_management(sdeConnection, version.name)
Réconcilier et réinjecter des versions avec une description spécifique. Cet exemple utilise un service d'entités dont la fonction de gestion des versions est activée.
# Import system modules
import arcpy
# Sign into ArcGIS Enterprise
arcpy.SignInToPortal("https://myserver.mydomain.com/portal", 'portaladmin',
'my.password')
# Create a variable for the feature service URL
myFS = "https://myserver.mydomain.com/server/rest/services/BranchVersioningData/FeatureServer"
# Use the ListVersions function to get a list of versions
versions = arcpy.da.ListVersions(myFS)
# Create a list of version to reconcile
listToRec = []
# For each version in the list, append only those that have the "READY TO POST"
# description
for version in versions:
if "READY FOR POST" in version.description.upper():
listToRec.append(version.name)
# Reconcile and post the versions
arcpy.ReconcileVersions_management(myFS,
'ALL_VERSIONS',
'sde.DEFAULT',
listToRec,
'NO_LOCK_ACQUIRED',
'ABORT_CONFLICTS',
'BY_OBJECT',
'FAVOR_EDIT_VERSION',
'POST',
'KEEP_VERSION')
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?