Skip to content

Contact Categories

Helge Heß edited this page Jan 12, 2026 · 3 revisions

Contacts categories are configured using the company_category SQL table.

The table is not joined w/ the person/enterprise tables, but the actual strings are inserted into the keywords column of the respective record, separated w/ , . Example:

Behörden, Landkreis

Two tags: "Behörden" and "Landkreis"

Table, object_version doesn't seem to be maintained:

\d company_category
                        Table "public.company_category"
       Column        |          Type          | Collation | Nullable | Default 
---------------------+------------------------+-----------+----------+---------
 company_category_id | integer                |           | not null | 
 object_version      | integer                |           |          | 
 category            | character varying(255) |           | not null | 
 db_status           | character varying(50)  |           | not null | 
Indexes:
    "pk_company_category" PRIMARY KEY, btree (company_category_id)

Keywords:

 keywords.  | character varying(255)
 tags_array | text[] | generated always as (string_to_array(keywords::text, ', '::text)) stored

Frontend

The categories can be configured/modified by root in his own preferences page.

Looks like editing them recreates all records in the table (new primary keys, db_status inserted).

Clone this wiki locally