I've been working with the append tool inside arcpy and discovered that, even though I have domains constraining the values of some of my columns, I never receive an error when the domains are violated.

I've read through the documentation for the append tool, and it doesn't discuss this in any way. Other google searches have failed me in finding an article about this issue.

Have others had this problem?

Does anyone have references to articles that have discussed this problem?

Are there any strategies to ensure that domains are enforced properly?


Thanks for the great answers. It unfortunately seems that there isn't an easy way to validate features using arcpy. I can't make the switch to 10.2 because this script has to run on a variety of versions that aren't 10.2 (with no plans to upgrade soon).

Thanks to everyone's help, I was able to find this article about the sdelayer -o feature_info command. It seems like this command will at least give me a list of invalid features, but I haven't had the chance to try it yet. I'll update when I've played around with it.


In 10.1, domains don't prevent incorrect values. You have to validate the values to flag them. The Help for 10.2 doesn't mention this, and would appear to enforce the behavior you're expecting, based on my reading.

|improve this answer|||||

There is a great Help page on loading features into an existing feature class. I suggest using for such situations Load Objects tool.

If you're loading into a feature class that has validation rules, such as attribute domain or geometric network connectivity rules, you can validate the features added and create a selection of the loaded features that are in violation of these rules.

The only trade-off is that you cannot use Load Objects as a GP tool, so there is no way to automate this; you are forced to use the GUI.

|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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