Synchronize Changes (Data Management)
Summary
Synchronizes updates between two replica geodatabases in a direction specified by the user.
Usage
-
This tool is used when synchronizing replicas in connected mode. To synchronize replicas in disconnected mode see the Export_Data_Change_Message, Import Message, Export Acknowledgement Message and Re-Export Unacknowledged Messages tools.
-
Two-way, one-way, and check-out replicas can be synchronized with this tool.
-
The replica geodatabases can be local geodatabases or geodata services.
-
Once synchronized, the changes (edits) will be reflected in the target geodatabase and viewable by all users.
Syntax
Parameter | Explanation | Data Type |
geodatabase_1 |
The geodatabase hosting the replica to synchronize. The geodatabase may be local or remote. | Workspace ;GeoDataServer |
in_replica |
A valid replica with a parent contained within one input geodatabase and a child in the other input geodatabase. | String |
geodatabase_2 |
The geodatabase hosting the relative replica. The geodatabase may be local or remote. | Workspace; GeoDataServer |
in_direction |
The direction in which you want changes to be sent: from geodatabase 1 to geodatabase 2, from geodatabase 2 to geodatabase 1, or to send changes in both directions. For check-out/check-in replicas or one-way replicas there is only one appropriate direction. If the replica is two-way then any of the three choices are available.
| String |
conflict_policy |
Specifies how conflicts are resolved when they are encountered.
| String |
conflict_definition |
Specifies how you would like to define conflicts:
| String |
reconcile reconcile |
Indicates whether to automatically reconcile once data changes are sent to the parent replica if there are no conflicts present. This option is only available for check-out/check-in replicas.
| Boolean |
Code Sample
The following Python window example demonstrates how to use the SynchronizeChanges function in the Python window.
import arcpy
from arcpy import env
env.workspace = "C:/Data"
arcpy.SynchronizeChanges_management("MySDEdata.sde", "My2wayReplica", "MySDEdata_child.sde", "BOTH_DIRECTIONS", \
"IN_FAVOR_OF_GDB1", "BY_ATTRIBUTE", "")
The following demonstrates how to use the SynchronizeChanges function in a stand-alone Python script.
# Name: SynchronizeChanges_Example2.py
# Description: Synchronizes changes for a one way replica from the Parent
# to the child replica geodatabase. The parent is an ArcSDE workspace, and the child is file geodatabase.
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "C:/Data"
# Set local variables
replica_gdb1 = "MySDEdata.sde"
replica_gdb2 = "Counties_replica.gdb"
replica_name = "MyOneWayReplica"
sync_direction = "FROM_GEODATABASE1_TO_2"
conflict_policy = "" # Not applicable for one way replicas, there is not conflict detection.
conflict_detection = "" # Not applicable for one way replicas, there is not conflict detection.
reconcile = "" # Only applicable for Checkout replicas
# Execute SynchronizeChanges
arcpy.SynchronizeChanges_management(replica_gdb1, replica_name, replica_gdb2, sync_direction, conflict_policy, \
conflict_detection, reconcile)