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:
Latest default configurations available in ADE default configuration (GitHub)
Usage
Open the CONFIG_ENTITY_DEFAULTS configuration package.
Navigate to the Entity Defaults tab.
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 | 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 | String | SAT | Optional: Used only for configuring current views. Specifies a parent entity type, must refer to an existing entity type. Used with:
|
relationshipType | String | CURRENT_VIEW | Optional: Used only for configuring current views. Must be Used with:
|
Example: Entity type configuration
"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
, orDV_REFERENCING_HASHKEY
byDefaultAutoManaged
must be set totrue
.relationshipType
must be set toCURRENT_VIEW
.defaultPhysicalType
must be set toVIEW
.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
"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 |
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 |
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
"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 |
defaultAttributeId | String | 201 | References a default attribute defined in |
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
"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 |
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
"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 |
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
"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 |
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
"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 |
defaultAttributeId | String | 1 | References a default attribute defined in |
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 |
Example: Key attribute configuration
"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.
"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
.
"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"
}
]