I have a rather complicated enterprise geodatabase version scheme that looks like this:
Periodically I get updates to our data inventory, and I would like to update all the versions together. I tried the append_management command as follows:
# some code
for fds in arcpy.ListDatasets('','feature') + ['']:
for fc in arcpy.ListFeatureClasses('','',fds):
inputPath = os.path.join(arcpy.env.workspace, fds, fc)
outputPath = os.path.join(outLocation, sdeString + fc)
arcpy.Append_management(inputPath, outputPath, schemaType, fieldMappings, subtype)
However, this only updated the DEFAULT SDE version. What's the best strategy to push those changes to the child versions as well? I would like to be able to do this programatically.
Thanks, Naci
Solved! Go to Solution.
Finally, I figured out the correct workflow for this. I had to change to the child version (ChangeVersion_management) before appending. Then I can propagate the changes from children to parents and grandparent. This is the only way reconciliation works.
If the changes are destined for the Default version, and you want all of those changes to propagate out to the child versions, then Reconciling a version—ArcGIS Help | ArcGIS Desktop using Reconcile Versions—Help | ArcGIS Desktop .
Thank you for your reply. I have been trying to post the changes to the child versions, but the Post Changes button is always disabled while the parent SDE version is active. I did this by posting changes from the child version to the parent. That seemed to work and got the additions from the parent version. Is that the correct workflow?
Thanks
Finally, I figured out the correct workflow for this. I had to change to the child version (ChangeVersion_management) before appending. Then I can propagate the changes from children to parents and grandparent. This is the only way reconciliation works.