Data model

Entries consist of attributes:

  • standard / built-in attributes

  • custom attributes

Different kinds of attributes:

  • Primary attributes need their own DB column

    • PRO: type-safe; indexable

    • CON: users table must be altered (manually)

  • Secondary/overflow attributes are stored as a key/value pair

    • PRO: no need to alter users table

    • CON: searching is less efficient; not type-safe; max. length 512 characters

  • Table attributes need their own DB table (created automatically)

  • Attachment attributes also need their own DB tables (created automatically)

Try the embedded H2 console to explore UM’s database structures:

gradle h2

Under Windows / WSL you’ll need to replace http://127.0.1.1 by http://localhost in the address bar when your browser pops up.

Attributes can be modified, custom attributes can be added: