Skip to main content
Skip table of contents

CONFIG_ENTITY_DEFAULTS

CONFIG_ENTITY_DEFAULTS is a configuration package used to define the default settings applied to entities in Agile Data Engine. It helps standardize and streamline the entity creation process by predefining how new entities should behave.

Within this package you can configure settings such as:

  • Entity types – Define default schemas, naming conventions, and physical types for entities (e.g., FACT, DIM, HUB, SAT, LINK). These settings determine the structural and behavioral defaults applied when new entities of each type are created.

  • Attribute types – Configure technical attribute types such as HASH_KEY, LOAD_TIME, TIMESLOT, which can be used in various automation scenarios. These types enable load automation features and allow attributes to be dynamically referenced in load steps using variables (e.g. source_entity_attribute_by_{attribute_type}) enabling flexible and reusable logic across loads.

  • Default attributes – Define default attributes including data type settings and naming conventions.

  • Entity default attributes – Automatically include specific default attributes (e.g., IDs, load timestamps, metadata attributes) in newly created entities with default transformations.

  • Default physical options – Set physical options like partitioning or storage settings.

  • Default keys – Configure default keys (e.g. PRIMARY_KEY, SORT_KEY) for entities.

  • Database tags – Configure database tags that can be assigned for entities and attributes.

These settings control the default behavior of new entities, ensuring consistency across your data model while reducing the need for repetitive manual configuration.


See also:


Usage

  1. Open the CONFIG_ENTITY_DEFAULTS configuration package.

  2. Navigate to the Entity Defaults tab.

  3. Configure the following components as needed:

    • Entity Types

    • Default Attributes

    • Attribute Types

    • Database Tags

These settings will be applied automatically when new entities are created.

You can also edit the contents of the package with Show Editor. Refer to the Contents section below for details on the available configuration structure.

Note that after making changes, CONFIG_ENTITY_DEFAULTS will have uncommitted changes. To maintain a change history, it is recommended to commit the package.


Contents

Entity type configuration

Note that you cannot rename or delete entity types that are in use i.e. selected for entities including soft-deleted entities.

Entity type configurations are managed inside a JSON array block named entityTypes.

Key

Value type

Example

Description

entityType

String

STAGE

Entity type name.

description

String

Staging entity

Optional: Description for the entity type.

namePrefix

String

STG_

Optional: Specifies a prefix that is automatically applied to the entity name.

nameSuffix

String

_C

Optional: Specifies a suffix that is automatically applied to the entity name.

defaultSchema

String

staging

Optional: Specifies a default schema for the entity type.

defaultZone

String

INGESTION

Optional: Specifies a default zone for the entity type.

dvEntity

Boolean

false

Optional: Specifies whether the entity type is a Data Vault entity.

defaultPhysicalType

String

TABLE

Defines the default physical type for the entity type.

If byDefaultAutoManaged: true, use VIEW.

byDefaultAutoManaged

Boolean

false

Optional: Used only for configuring current views.

Specifies whether the entity type is automatically managed, meaning it is created, modified, and deleted based on changes in a related parent entity type.

Used with:

  • parentEntityType

  • relationshipType: CURRENT_VIEW

parentEntityType

String

SAT

Optional: Used only for configuring current views.

Specifies a parent entity type, must refer to an existing entity type.

Used with:

  • byDefaultAutoManaged: true

  • relationshipType: CURRENT_VIEW

relationshipType

String

CURRENT_VIEW

Optional: Used only for configuring current views.

Must be CURRENT_VIEW.

Used with:

  • byDefaultAutoManaged: true

  • parentEntityType

Example: Entity type configuration

JSON
"entityTypes": [
  ...
  {
    "entityType": "BUSINESS_SATELLITE",
    "description": "Business satellite entity",
    "namePrefix": "BSE_",
    "nameSuffix": null,
    "dvEntity": false,
    "byDefaultAutoManaged": false,
    "defaultSchema": "bse",
    "defaultZone": "BUSINESS", 
    "parentEntityType": null,
    "relationshipType": null,
    "defaultPhysicalType": "TABLE"
  }
  ...
]

Current views

When defining an entity type for a current view, the following conditions must be met:

  • parentEntityType must reference a valid, predefined entity type that includes the following mandatory attribute types:

    • DV_LOAD_TIME

    • One of: DV_DRIVING_KEY, DV_HASHKEY, or DV_REFERENCING_HASHKEY

  • byDefaultAutoManaged must be set to true.

  • relationshipType must be set to CURRENT_VIEW.

  • defaultPhysicalType must be set to VIEW.

  • Default attributes should not be defined for current view entity types, as they inherit these from the parent entity type.

  • Load types must be explicitly defined for the current view entity type.


Attribute type configuration

Attribute type configurations are managed within the JSON array block named attributeTypes.

Key

Value type

Example

Description

attributeType

String

DV_HASHKEY

Attribute type name.

superAttributeType

String

null

Optional: Parent attribute type name.

You can add a new attribute type or update the contents of an existing attribute type.

Example: Attribute type configuration

JSON
"attributeTypes": [
  ...
  {
    "attributeType": "DV_HASHKEY",
    "superAttributeType": null
  }
  ...
]

Default attribute configuration

Default attribute configurations are managed within the JSON array block named defaultAttributes.

Key

Value type

Example

Description

defaultAttributeId

String

9

Unique identifier for the default attribute.

attributeNameTemplate

String

stg_sort_order

Name template for the default attribute.

datatype

String

INTEGER8

Attribute data type.

dataPrecision

Integer

null

Optional: Data type precision value.

Precision defines the total number of digits that can be stored for numeric values, e.g. DECIMAL(10,x).

dataScale

Integer

null

Optional: Data type scale value.

Scale defines the number of digits allowed after the decimal point for numeric values, e.g. DECIMAL(x,2).

dataLength

String

null

Optional: Data type length value.

Length refers to the maximum number of characters or bytes allowed for values of this data type, e.g. VARCHAR(255).

description

String

Staging sort order

Optional: Provides a description for the default attribute.

Entity and attribute descriptions are written to the target database as metadata.

compressionType

String

null

Optional: Default attribute compression type.

Only supported in Amazon Redshift.

isNullable

Boolean

true

Optional: Defines whether the default attribute is nullable.

isPersistent

Boolean

true

Always set as true.

defaultValue

String

null

Optional: Specifies the default value assigned to the attribute if no value is provided during data loading.

attributeType

String

STG_SORT_ORDER

Optional: References an attribute type defined within attributeTypes.

charUsed

Boolean

false

Deprecated: This field is no longer in use.

Set as false or leave unset.

charLength

String

null

Deprecated: This field is no longer in use.

Example: Default attribute configuration

JSON
"defaultAttributes": [
  . . .
  {
    "defaultAttributeId": "9",
    "attributeNameTemplate": "stg_sort_order",
    "datatype": "INTEGER8",
    "dataPrecision": null,
    "dataScale": null,
    "dataLength": null,
    "description": "Staging sort order",
    "compressionType": null,
    "isNullable": true,
    "isPersistent": true,
    "defaultValue": null,
    "attributeType": "STG_SORT_ORDER"
  }
  . . .
]

Entity type default attribute configuration

Entity type default attribute configurations are managed within the JSON array block named entityTypeDefaultAttributes. This block defines which default attributes are automatically included for each entity type.

Key

Value type

Example

Description

entityTypeDefaultAttributeId

String

101

Unique identifier for the entity type default attribute mapping.

entityType

String

PSA

References an entity type defined in entityTypes.

defaultAttributeId

String

201

References a default attribute defined in defaultAttributes.

position

String

1

Specifies the ordinal position of the default attribute for the entity type.

This value determines the order in which default attributes are added during entity creation.

transformationType

String

HASH_DIFF

Optional: References a transformation type configured in CONFIG_LOAD_TRANSFORMATIONS which defines the default transformation logic applied to the attribute.

Example: Entity type default attribute configuration

JSON
"entityTypeDefaultAttributes": [
  ...
  {
    "entityTypeDefaultAttributeId": "1",
    "entityType": "STAGE",
    "defaultAttributeId": "9",
    "position": "1",
    "transformationType": null
  }
  ...
]

Entity type load type configuration

Entity type default load type configurations are managed within the JSON array block named entityTypeDefaultLoadTypes. This block defines the default load types that are associated with specific entity types during load creation.

Key

Value type

Example

Information

defaultLoadTypeId

String

1

Unique identifier for the entity type default load type mapping.

entityType

String

STAGE

References an entity type defined in entityTypes.

entityPhysicalType

String

TABLE

Specifies the physical entity type that the load type is associated with.

This ensures that the defined load type is applied only to entities with the matching physical type.

loadType

String

TRANSFORM_PERSIST

Specifies the default load type for a given combination of entity type and physical type.

Example: Entity type load type configuration

JSON
"entityTypeDefaultLoadTypes": 
[ 
    ...
    {    
        "defaultLoadTypeId": 1, 
        "entityPhysicalType": "VIEW", 
        "entityType": "SOURCE", 
        "loadType": "TRANSFORM_SQL_VIEW" 
    },  
    ...
]

Physical option configuration for entity types

Configurations for physical options for entity type and physical type combinations are managed within the JSON array block named physicalOptTypePerEntityTypePerPhysicalTypes.

This configuration defines which physical options are applied by default based on the combination of entity type and physical type.

Key

Value type

Example

Description

physicalOptType

String

STORAGE.TRANSIENT_TABLE

Specifies the physical option.

entityType

String

STAGE

References an entity type defined in entityTypes.

physicalType

String

TABLE

Specifies the physical entity type that the physical option is associated with.

value

String

true

Sets the physical option value.

Example: Physical option configuration for entity types

JSON
"physicalOptTypePerEntityTypePerPhysicalTypes": [
  ...
  {
    "physicalOptType": "STORAGE.TRANSIENT_TABLE",
    "entityType": "STAGE",
    "physicalType": "TABLE",
    "value": "true"
  },
  {
    "physicalOptType": "STORAGE.TRANSIENT_TABLE",
    "entityType": "DIM",
    "physicalType": "TABLE",
    "value": "true"
  },
  {
    "physicalOptType": "STORAGE.TRANSIENT_TABLE",
    "entityType": "FACT",
    "physicalType": "TABLE",
    "value": "true"
  },
  {
    "physicalOptType": "STORAGE.TRANSIENT_TABLE",
    "entityType": "FLAT",
    "physicalType": "TABLE",
    "value": "true"
  }
  ...
]

Key configuration for entity types

Key type configurations by entity type and physical type are managed within the JSON array block named keyTypePerEntityTypePerPhysicalTypes.

This configuration defines which keys (e.g., primary keys, sort keys) are applied by default based on the combination of entity type and physical type.

Key

Value type

Example

Description

keyTypePerEntityTypePerPhysicalTypeId

String

cd90bc37-c1e9-467b-a7a8-15c319862ef3

Unique identifier for the key configuration. Can be generated with online tools, such as UUID Generator.

keyType

String

SORT_KEY

Key type, see Keys & References for details.

entityType

String

HUB

References an entity type defined in entityTypes.

physicalType

String

TABLE

Specifies the physical entity type that the key is associated with.

indexOptions

String

null

Optional: Specifies the index options associated with the key type.

See e.g. SECONDARY_INDEX.

Example: Key configuration for entity types

JSON
"keyTypePerEntityTypePerPhysicalTypes": [
  ...
  {
    "keyTypePerEntityTypePerPhysicalTypeId": "cd90bc37-c1e9-467b-a7a8-15c319862ef3",
    "keyType": "SORT_KEY",
    "entityType": "HUB",
    "physicalType": "TABLE",
    "indexOptions": null
  },
  {
    "keyTypePerEntityTypePerPhysicalTypeId": "08b0fa35-8a82-4b2e-8014-44b1ba4a01ab",
    "keyType": "SORT_KEY",
    "entityType": "SAT",
    "physicalType": "TABLE",
    "indexOptions": null
  }
  ...
]

If an existing key type per entity type per physical type needs to be deleted, simply remove it from the set of values before importing the configuration package.


Key attribute configuration

Key attribute configurations are managed within the JSON array block named keyTypeAttributePerEntityTypePerPhysicalTypes.

Key attribute configurations define the default attributes used in key configurations (see above).

Key

Value type

Example

Description

keyTypeAttributePerEntityTypePerPhysicalTypeId

String

083ee801-0f29-4f18-98f2-fe66b297b969

Unique identifier for the key attribute configuration. Can be generated with online tools, such as UUID Generator.

keyTypePerEntityTypePerPhysicalTypeId

String

08b0fa35-8a82-4b2e-8014-44b1ba4a01ab

References a key configuration defined in keyTypePerEntityTypePerPhysicalTypes.

defaultAttributeId

String

1

References a default attribute defined in defaultAttributes.

position

Integer

1

Specifies the ordinal position of the attribute in the key definition.

sortDirection

String

null

Optional: Specifies the sort direction of the key attribute.

Supported values are 'ASC' and 'DESC'.

Example: Key attribute configuration

JSON
"keyTypeAttributePerEntityTypePerPhysicalTypes": [
  ...
  {
    "keyTypeAttributePerEntityTypePerPhysicalTypeId": "083ee801-0f29-4f18-98f2-fe66b297b969",
    "keyTypePerEntityTypePerPhysicalTypeId": "08b0fa35-8a82-4b2e-8014-44b1ba4a01ab",
    "defaultAttributeId": "1",
    "position": 1,
    "sortDirection": null
  },
  {
    "keyTypeAttributePerEntityTypePerPhysicalTypeId": "edb45ed6-8b33-4346-a235-0bce73b054f7",
    "keyTypePerEntityTypePerPhysicalTypeId": "08b0fa35-8a82-4b2e-8014-44b1ba4a01ab",
    "defaultAttributeId": "3",
    "position": 2,
    "sortDirection": null
  },
  {
    "keyTypeAttributePerEntityTypePerPhysicalTypeId": "0617964e-a020-4423-b236-a76e77e13568",
    "keyTypePerEntityTypePerPhysicalTypeId": "cd90bc37-c1e9-467b-a7a8-15c319862ef3",
    "defaultAttributeId": "5",
    "position": 2,
    "sortDirection": null
  },
  {
    "keyTypeAttributePerEntityTypePerPhysicalTypeId": "ed3cd98a-9fed-4f49-9996-81789b5dbe83",
    "keyTypePerEntityTypePerPhysicalTypeId": "cd90bc37-c1e9-467b-a7a8-15c319862ef3",
    "defaultAttributeId": "1",
    "position": 1,
    "sortDirection": null
  }
  ...
]

Examples

Data Vault naming conventions with prefixes

Example naming conventions for basic Data Vault entities. Naming convention uses prefixes H_, S_ and L_ for Data Vault entities.

JSON
  "entityTypes": [
    {
      "entityType": "HUB",
      "description": "Hub Entity",
      "namePrefix": "H_",
      "dvEntity": true,
      "byDefaultAutoManaged": false,
      "defaultSchema": "rdv",
      "defaultZone": "RAW"
    },
    {
      "entityType": "SAT",
      "description": "Satellite Entity",
      "namePrefix": "S_",
      "dvEntity": true,
      "byDefaultAutoManaged": false,
      "defaultSchema": "rdv",
      "defaultZone": "RAW"
    },
    {
      "entityType": "LINK",
      "description": "Link Entity",
      "namePrefix": "L_",
      "dvEntity": true,
      "byDefaultAutoManaged": false,
      "defaultSchema": "rdv",
      "defaultZone": "RAW"
    }
  ]

Data Vault naming conventions with suffixes

Example naming conventions for basic Data Vault entities. Naming convention uses prefix DV_ and suffixes _H, _S and _L.

JSON
  "entityTypes": [
    {
      "entityType": "HUB",
      "description": "Hub Entity",
      "namePrefix": "DV_",
      "nameSuffix": "_H",
      "dvEntity": true,
      "byDefaultAutoManaged": false,
      "defaultSchema": "dv",
      "defaultZone": "RAW"
    },
    {
      "entityType": "SAT",
      "description": "Satellite Entity",
      "namePrefix": "DV_",
      "nameSuffix": "_S",
      "dvEntity": true,
      "byDefaultAutoManaged": false,
      "defaultSchema": "dv",
      "defaultZone": "RAW"
    },
    {
      "entityType": "LINK",
      "description": "Link Entity",
      "namePrefix": "DV_",
      "nameSuffix": "_L",
      "dvEntity": true,
      "byDefaultAutoManaged": false,
      "defaultSchema": "dv",
      "defaultZone": "RAW"
    }
  ]
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.