Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Type

Description

Solutions

Example

UNIQUE

  • An object with this value for this field already exists

  • Applicable for

    • AMID system field

    • Primary key field (Single PK for now)

    • Any other unique fields

    • Root entity fields with field value pattern

  • GENERATE

  • SET_BY_USER

  • SET_NULL

  • FAIL

There is an object of entity A with AMID 821df1d4-3ed8-463e-a9a3-ea841be60f81 in the system. When trying to import this object again or any other object of entity A with the same AMID.

There is an entity A which has a field identifier with a field value pattern. The system already has an object of entity A with identifier A-0001. When trying to import any object of entity A with the identifier A-0001 again.

FK

  • The parent object referred by this field not found

  • Applicable for fields that are used to store links to their parent objects

  • Not yet supported

  • IGNORE

  • SET_NULL

  • FAIL

Entity A has a sub-entity Entity B. Entity B then will have a field like ref_a which will store the id of its parent object of Entity A. When trying to import an object of Entity B which has a value in the ref_a field, but there is no object of Entity A with that id.

REQUIRED

  • No value present for this required field

  • Applicable for

    • AMID system field

    • Primary key fields

    • Any other non-nullable fields

  • GENERATE

  • SET_BY_USER

  • FAIL

Entity A has a primary key field id. When the import file for entity A contains an object which has no value set for the field id.

TYPE

  • Value type not compatible with the field type

  • GENERATE

  • SET_BY_USER

  • SET_NULL

  • FAIL

Entity A has a field id of type integer. When the import file for entity A contains any value for the field id which is not an integer.

LENGTH

  • Text length is longer than the limit

  • Applicable for varchar fields with a length set

  • TRIM_EXTRA

  • SET_BY_USER

  • SET_NULL

  • FAIL

Entity A has a varchar field name with length 10. When the import file for entity A contains any value for the field name with a length greater than 10.

Root System Entity UNIQUE

  • Applicable for root system entities (AKTOR, TAG, RESTRICTION)

  • IGNORE

  • REPLACE_WITH_EXISTING

The system already has an AKTOR with identifikator AKT-0001. When trying to import any data that has an AKTOR with identifikator value AKT-0001.

...

Type

Description

Challenges

GENERATE

  • Generates a new value based on the field type or using the field value pattern

  • Not available for PK and UNIQUE if field type is not UUID

  • For AMID, replace all objectReference

  • For PK, replace all FK

  • How to handle composite PK?

  • Should we generate PK for other types? If so then how?

SET_BY_USER

  • Input from the user

  • Not applicable for conflicts that are gathered during import

  • Requires user interaction

SET_NULL

  • Applicable for nullable or not required fields

SET_NULL_OR_REGENERATE

  • Set null if nullable or generate a value (dummy) based on the field type

  • Applicable for conflicts that are gathered during import

TRIM_EXTRA

  • Trim the extra part

  • Applicable for varchar fields with a length set

IGNORE

  • Ignore this object and it’s descendants

  • Applicable only for root system entities

  • Highest precedence

  • Ignore the whole subtree for this object as well

REPLACE_WITH_EXISTING

  • Ignore this object and it’s descendants but keep the relation objects (AKTOR_RELASJON, TAG_MAPPING, OBJECT_RESTRICTION)

  • Import relation objects but change the relation to connect to the conflicted row

  • 2nd highest precedence

  • Ignore the whole subtree for this object as well

  • Keep the relation objects but change their FK

  • Should we consider the possible new sub-entity objects?

  • Should we consider the possible changes for this subtree?

FAIL

  • Throw an error and abort

  • Applicable for conflicts that are gathered during import

...

  • Support Excel import

  • Support Composite PK Support and FK conflict

  • Generate other types than UUID

  • Optimize using temporary table and/or files rather than the memory

  • Add more types of solutions