Résumé
Répertorie les versions dans l'espace de travail.
Discussion
Vous pouvez définir le chemin d'accès à un fichier de connexion comme argument de la fonction ou définir l'environnement de l'espace de travail sur le fichier de connexion et appeler la fonction ListVersions sans aucun argument.
Syntaxe
ListVersions (sde_workspace)
Paramètre | Explication | Type de données |
sde_workspace | An enterprise geodatabase workspace. | String |
Valeur renvoyée
Type de données | Explication |
Version | Liste d’objets Version. |
Exemple de code
Exemple 1 d'utilisation de la fonction ListVersions
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)
Exemple 2 d'utilisation de la fonction ListVersions
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)
Exemple 3 d'utilisation de la fonction ListVersions
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')