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:
userstable must be altered (manually)
Secondary/overflow attributes are stored as a key/value pair
PRO: no need to alter
userstableCON: 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: