Delete Domain (Data Management)

Summary

Deletes a domain from a workspace.

Usage

  • A domain cannot be deleted if it is associated with a feature class or table. Use the Remove Domain From Field tool to remove the association between a feature class or table and a domain.

  • You can also manage domains in Domains view which can be opened by clicking the Domains button found in the Design group on the Data ribbon.

Syntax

arcpy.management.DeleteDomain(in_workspace, domain_name)
ParameterExplanationData Type
in_workspace

The geodatabase that contains the domain to be deleted.

Workspace
domain_name

The name of the domain to be deleted.

String

Derived Output

NameExplanationData Type
out_workspace

The updated input workspace

Workspace

Code sample

DeleteDomain example 1 (Python window)

The following Python window script demonstrates how to use the DeleteDomain function in immediate mode.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.DeleteDomain_management("montgomery.gdb", "DistDiam")
DeleteDomain example 2 (stand-alone script)

This stand-alone script uses the DeleteDomain function as part of a workflow to edit a domain.

# Name: RemoveDomainsExample.py
# Purpose: Update an attribute domain to constrain valid pipe material values

# Import system modules
import arcpy
import os
 
# Set the workspace (to avoid having to type in the full path to the data every time)
arcpy.env.workspace = "data"
 
# set local parameters
inFeatures = "Montgomery.gdb/Water/DistribMains"
inField = "MATERIAL"
dWorkspace = "Montgomery.gdb"
domName = "Material"
codedValue =  "ACP: Asbestos concrete"
codeField = "TYPE"
descField = "DESRIPT"

# Process: Remove the constraint from the material field
arcpy.RemoveDomainFromField_management(inFeatures, inField)
 
# Edit the domain values
# Process: Remove a coded value from the domain
arcpy.DeleteCodedValueFromDomain_management(dWorkspace, domName, codedValue)

# Process: Create a table from the domain to edit it with standard editing tools
arcpy.DomainToTable_management(dWorkspace, domname, 
                               os.path.join(dWorkspace, domname), codeField, 
                               descField)
 
# Process: Delete the domain
arcpy.DeleteDomain_management(dWorkspace, domName)
 
# Edit the domain table outside of geoprocessing
# and then bring the domain back in with the TableToDomain process

Licensing information

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes

Related topics