Important Profile Rules

The following rules are enforced during profile create/update operations:

  1. The very first profile in the system must be a master profile only.
    • If no master profile exists yet, the first profile must be created with:
      "isMasterProfile": true
  2. If no master profile has been created, you cannot create any other profiles at all.
    • Detect rejects creation of any non-master profile until a master profile exists.
  3. Each profile must have exactly one profile table in the current implementation.
    • Multiple profile tables are not supported in the current release.
  4. Each profile must have one master table.
    • Since only one profile table is currently supported, that table must be master table. Use following configuration:
      "isMasterTable": true
  5. Each profile table must have attribute-column mappings.
    • attributeColumnMappings must not be empty.
  6. Each profile table must have exactly one key attribute mapping.
    • Exactly one entry in attributeColumnMappings must have:
      "isKeyAttribute": true
  7. Master profile update restrictions apply.
    • If the existing profile is already the master profile:
    • isMasterProfile cannot be changed from true to false
    • the profile table cannot be removed
    • dataSourceName cannot be changed
    • dbTableName cannot be changed
    • existing master-table attribute mappings cannot be removed or altered incompatibly