Skip To Content

Delete Domain

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

DeleteDomain_management (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

Code sample

Delete Domain Example (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")
Delete Domain 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
 
try:
    # 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, dWorkspace + os.sep + 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
 
except Exception as err:
    print(err.args[0])

Licensing information

  • ArcGIS Desktop Basic: Yes
  • ArcGIS Desktop Standard: Yes
  • ArcGIS Desktop Advanced: Yes

Related topics