Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have an Esri geodatabase two-way replica set. I need to update the schema on both databases in the replica set. Esri describes doing this using ArcGIS schema tools (compare/export/import replica schema - see here).

I have control of both databases in the replica set and I would prefer to make a python script, which updates the schema and run that on both databases in the replica set.

Are there potential problems with applying the schema changes to both databases instead using Esri's schema tools?

share|improve this question
Just to clarify: the python script would use arcpy for changing the schema. So no changes behind the back of ArcGIS when changing the schema. – steenhulthin Dec 20 '13 at 10:45

You should absolutely follow the Esri-provided steps for applying schema changes to your replica sets. Using their tools is the way to go (and of course, it's supported!). Esri has a pretty good, well-documented workflow for applying schema changes to both replicas in the set without corrupting your replicas. Follow their workflows and you should be fine.

Scripting your changes in Python is definitely an option too, but I'm not sure how universal your script could be in order to propagate any type of schema change to both replicas appropriately. One possibility is to write a Python script and corresponding GP tool for each type of schema change that you anticipate could occur (for example, adding a field, deleting a field, adding a domain, modifying a subtype).

Lastly, I can't tell from what you wrote whether or not you are considering making schema changes to your replica set using non-Esri tools. If that is the case, I can only imagine you are referring to RDBMS tools. I would highly suggest not going down this path unless you are an expert at replication and versioning. Making changes on the base table, for example, using RDBMS tools but not on the corresponding A, D, S and F tables can have profound negative affects on your database and ArcSDE overall. At the very least, you will corrupt the modified object classes in ArcSDE. Worst case, you may be in a situation where your geodatabase is unrecoverable. Hopefully you aren't thinking of going down this path, but I wanted to cover it just in case.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.