From ee8c8db3ccdb1920674dc0169b3a65c499895988 Mon Sep 17 00:00:00 2001
From: Martin Weise <martin.weise@tuwien.ac.at>
Date: Mon, 7 Oct 2024 21:54:04 +0200
Subject: [PATCH] Fixed the metadata-db

---
 helm/dbrepo/templates/metadata-configmap.yaml | 327 +++++++++++-------
 helm/dbrepo/values.yaml                       |   6 +-
 2 files changed, 201 insertions(+), 132 deletions(-)

diff --git a/helm/dbrepo/templates/metadata-configmap.yaml b/helm/dbrepo/templates/metadata-configmap.yaml
index dd09e30a56..45864059b9 100644
--- a/helm/dbrepo/templates/metadata-configmap.yaml
+++ b/helm/dbrepo/templates/metadata-configmap.yaml
@@ -36,7 +36,7 @@ data:
 
     CREATE TABLE IF NOT EXISTS `mdb_images`
     (
-        id            bigint                 NOT NULL AUTO_INCREMENT,
+        id            SERIAL,
         registry      character varying(255) NOT NULL DEFAULT 'docker.io',
         name          character varying(255) NOT NULL,
         version       character varying(255) NOT NULL,
@@ -52,23 +52,9 @@ data:
         UNIQUE (is_default)
     ) WITH SYSTEM VERSIONING;
 
-    CREATE TABLE IF NOT EXISTS `mdb_images_date`
-    (
-        id              bigint                 NOT NULL AUTO_INCREMENT,
-        iid             bigint                 NOT NULL,
-        database_format character varying(255) NOT NULL,
-        unix_format     character varying(255) NOT NULL,
-        example         character varying(255) NOT NULL,
-        has_time        boolean                NOT NULL,
-        created_at      timestamp              NOT NULL DEFAULT NOW(),
-        PRIMARY KEY (id),
-        FOREIGN KEY (iid) REFERENCES mdb_images (id),
-        UNIQUE (database_format, unix_format, example)
-    ) WITH SYSTEM VERSIONING;
-
     CREATE TABLE IF NOT EXISTS `mdb_containers`
     (
-        id                  bigint                 NOT NULL AUTO_INCREMENT,
+        id                  SERIAL,
         internal_name       character varying(255) NOT NULL,
         name                character varying(255) NOT NULL,
         host                character varying(255) NOT NULL,
@@ -84,13 +70,12 @@ data:
         privileged_username character varying(255) NOT NULL,
         privileged_password character varying(255) NOT NULL,
         quota               integer                NOT NULL DEFAULT 50,
-        PRIMARY KEY (id),
-        FOREIGN KEY (image_id) REFERENCES mdb_images (id)
+        PRIMARY KEY (id)
     ) WITH SYSTEM VERSIONING;
 
     CREATE TABLE IF NOT EXISTS `mdb_data`
     (
-        ID           bigint NOT NULL AUTO_INCREMENT,
+        ID           SERIAL,
         PROVENANCE   text,
         FileEncoding text,
         FileType     character varying(100),
@@ -110,8 +95,8 @@ data:
 
     CREATE TABLE IF NOT EXISTS `mdb_databases`
     (
-        id             bigint                 NOT NULL AUTO_INCREMENT,
-        cid            bigint                 NOT NULL,
+        id             SERIAL,
+        cid            BIGINT UNSIGNED        NOT NULL,
         name           character varying(255) NOT NULL,
         internal_name  character varying(255) NOT NULL,
         exchange_name  character varying(255) NOT NULL,
@@ -125,7 +110,7 @@ data:
         created        timestamp              NOT NULL DEFAULT NOW(),
         last_modified  timestamp,
         PRIMARY KEY (id),
-        FOREIGN KEY (cid) REFERENCES mdb_containers (id) /* currently we only support one-to-one */,
+        FOREIGN KEY (cid) REFERENCES mdb_containers (id),
         FOREIGN KEY (created_by) REFERENCES mdb_users (id),
         FOREIGN KEY (owned_by) REFERENCES mdb_users (id),
         FOREIGN KEY (contact_person) REFERENCES mdb_users (id)
@@ -140,8 +125,8 @@ data:
 
     CREATE TABLE IF NOT EXISTS `mdb_tables`
     (
-        ID              bigint                NOT NULL AUTO_INCREMENT,
-        tDBID           bigint                NOT NULL,
+        ID              SERIAL,
+        tDBID           BIGINT UNSIGNED       NOT NULL,
         tName           VARCHAR(64)           NOT NULL,
         internal_name   VARCHAR(64)           NOT NULL,
         queue_name      VARCHAR(255)          NOT NULL,
@@ -172,26 +157,25 @@ data:
 
     CREATE TABLE IF NOT EXISTS `mdb_columns`
     (
-        ID               BIGINT      NOT NULL AUTO_INCREMENT,
-        tID              BIGINT      NOT NULL,
-        dfID             BIGINT,
+        ID               SERIAL,
+        tID              BIGINT UNSIGNED NOT NULL,
         cName            VARCHAR(64),
-        internal_name    VARCHAR(64) NOT NULL,
+        internal_name    VARCHAR(64)     NOT NULL,
         Datatype         ENUM ('CHAR','VARCHAR','BINARY','VARBINARY','TINYBLOB','TINYTEXT','TEXT','BLOB','MEDIUMTEXT','MEDIUMBLOB','LONGTEXT','LONGBLOB','ENUM','SET','BIT','TINYINT','BOOL','SMALLINT','MEDIUMINT','INT','BIGINT','FLOAT','DOUBLE','DECIMAL','DATE','DATETIME','TIMESTAMP','TIME','YEAR'),
-        length           BIGINT      NULL,
-        ordinal_position INTEGER     NOT NULL,
-        index_length     BIGINT      NULL,
+        length           BIGINT UNSIGNED NULL,
+        ordinal_position INTEGER         NOT NULL,
+        index_length     BIGINT UNSIGNED NULL,
         description      VARCHAR(2048),
-        size             BIGINT,
-        d                BIGINT,
-        auto_generated   BOOLEAN              DEFAULT false,
-        is_null_allowed  BOOLEAN     NOT NULL DEFAULT true,
-        val_min          NUMERIC     NULL,
-        val_max          NUMERIC     NULL,
-        mean             NUMERIC     NULL,
-        median           NUMERIC     NULL,
-        std_dev          Numeric     NULL,
-        created          timestamp   NOT NULL DEFAULT NOW(),
+        size             BIGINT UNSIGNED,
+        d                BIGINT UNSIGNED,
+        auto_generated   BOOLEAN                  DEFAULT false,
+        is_null_allowed  BOOLEAN         NOT NULL DEFAULT true,
+        val_min          NUMERIC         NULL,
+        val_max          NUMERIC         NULL,
+        mean             NUMERIC         NULL,
+        median           NUMERIC         NULL,
+        std_dev          Numeric         NULL,
+        created          timestamp       NOT NULL DEFAULT NOW(),
         last_modified    timestamp,
         FOREIGN KEY (tID) REFERENCES mdb_tables (ID) ON DELETE CASCADE,
         PRIMARY KEY (ID),
@@ -200,8 +184,8 @@ data:
 
     CREATE TABLE IF NOT EXISTS `mdb_columns_enums`
     (
-        id        bigint                 NOT NULL AUTO_INCREMENT,
-        column_id bigint                 NOT NULL,
+        id        SERIAL,
+        column_id BIGINT UNSIGNED        NOT NULL,
         value     CHARACTER VARYING(255) NOT NULL,
         FOREIGN KEY (column_id) REFERENCES mdb_columns (ID) ON DELETE CASCADE,
         PRIMARY KEY (id)
@@ -209,8 +193,8 @@ data:
 
     CREATE TABLE IF NOT EXISTS `mdb_columns_sets`
     (
-        id        bigint                 NOT NULL AUTO_INCREMENT,
-        column_id bigint                 NOT NULL,
+        id        SERIAL,
+        column_id BIGINT UNSIGNED        NOT NULL,
         value     CHARACTER VARYING(255) NOT NULL,
         FOREIGN KEY (column_id) REFERENCES mdb_columns (ID) ON DELETE CASCADE,
         PRIMARY KEY (id)
@@ -218,8 +202,8 @@ data:
 
     CREATE TABLE IF NOT EXISTS `mdb_columns_nom`
     (
-        cID           bigint,
-        tID           bigint,
+        cID           BIGINT UNSIGNED,
+        tID           BIGINT UNSIGNED,
         maxlength     INTEGER,
         last_modified timestamp,
         created       timestamp NOT NULL DEFAULT NOW(),
@@ -229,8 +213,8 @@ data:
 
     CREATE TABLE IF NOT EXISTS `mdb_columns_cat`
     (
-        cID           bigint,
-        tID           bigint,
+        cID           BIGINT UNSIGNED,
+        tID           BIGINT UNSIGNED,
         num_cat       INTEGER,
         --    cat_array     TEXT[],
         last_modified timestamp,
@@ -241,13 +225,13 @@ data:
 
     CREATE TABLE IF NOT EXISTS `mdb_constraints_foreign_key`
     (
-        fkid      BIGINT       NOT NULL AUTO_INCREMENT,
-        tid       BIGINT       NOT NULL,
-        rtid      BIGINT       NOT NULL,
-        name      VARCHAR(255) NOT NULL,
-        on_update VARCHAR(50)  NULL,
-        on_delete VARCHAR(50)  NULL,
-        position  INT          NULL,
+        fkid      BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
+        tid       BIGINT UNSIGNED NOT NULL,
+        rtid      BIGINT UNSIGNED NOT NULL,
+        name      VARCHAR(255)    NOT NULL,
+        on_update VARCHAR(50)     NULL,
+        on_delete VARCHAR(50)     NULL,
+        position  INT             NULL,
         PRIMARY KEY (fkid),
         FOREIGN KEY (tid) REFERENCES mdb_tables (id) ON DELETE CASCADE,
         FOREIGN KEY (rtid) REFERENCES mdb_tables (id)
@@ -255,9 +239,9 @@ data:
 
     CREATE TABLE IF NOT EXISTS `mdb_constraints_primary_key`
     (
-        pkid BIGINT NOT NULL AUTO_INCREMENT,
-        tID  BIGINT NOT NULL,
-        cid  BIGINT NOT NULL,
+        pkid SERIAL,
+        tID  BIGINT UNSIGNED NOT NULL,
+        cid  BIGINT UNSIGNED NOT NULL,
         PRIMARY KEY (pkid),
         FOREIGN KEY (tID) REFERENCES mdb_tables (id) ON DELETE CASCADE,
         FOREIGN KEY (cid) REFERENCES mdb_columns (id) ON DELETE CASCADE
@@ -265,10 +249,10 @@ data:
 
     CREATE TABLE IF NOT EXISTS `mdb_constraints_foreign_key_reference`
     (
-        id   BIGINT NOT NULL AUTO_INCREMENT,
-        fkid BIGINT NOT NULL,
-        cid  BIGINT NOT NULL,
-        rcid BIGINT NOT NULL,
+        id   SERIAL,
+        fkid BIGINT UNSIGNED NOT NULL,
+        cid  BIGINT UNSIGNED NOT NULL,
+        rcid BIGINT UNSIGNED NOT NULL,
         PRIMARY KEY (id),
         UNIQUE (fkid, cid, rcid),
         FOREIGN KEY (fkid) REFERENCES mdb_constraints_foreign_key (fkid) ON UPDATE CASCADE,
@@ -278,19 +262,19 @@ data:
 
     CREATE TABLE IF NOT EXISTS `mdb_constraints_unique`
     (
-        uid      BIGINT       NOT NULL AUTO_INCREMENT,
-        name     VARCHAR(255) NOT NULL,
-        tid      BIGINT       NOT NULL,
-        position INT          NULL,
+        uid      BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
+        name     VARCHAR(255)    NOT NULL,
+        tid      BIGINT UNSIGNED NOT NULL,
+        position INT             NULL,
         PRIMARY KEY (uid),
         FOREIGN KEY (tid) REFERENCES mdb_tables (id) ON DELETE CASCADE
     );
 
     CREATE TABLE IF NOT EXISTS `mdb_constraints_unique_columns`
     (
-        id  BIGINT NOT NULL AUTO_INCREMENT,
-        uid BIGINT NOT NULL,
-        cid BIGINT NOT NULL,
+        id  SERIAL,
+        uid BIGINT UNSIGNED NOT NULL,
+        cid BIGINT UNSIGNED NOT NULL,
         PRIMARY KEY (id),
         FOREIGN KEY (uid) REFERENCES mdb_constraints_unique (uid),
         FOREIGN KEY (cid) REFERENCES mdb_columns (id) ON DELETE CASCADE
@@ -298,9 +282,9 @@ data:
 
     CREATE TABLE IF NOT EXISTS `mdb_constraints_checks`
     (
-        id     BIGINT       NOT NULL AUTO_INCREMENT,
-        tid    BIGINT       NOT NULL,
-        checks VARCHAR(255) NOT NULL,
+        id     SERIAL,
+        tid    BIGINT UNSIGNED NOT NULL,
+        checks VARCHAR(255)    NOT NULL,
         PRIMARY KEY (id),
         FOREIGN KEY (tid) REFERENCES mdb_tables (id) ON DELETE CASCADE
     ) WITH SYSTEM VERSIONING;
@@ -308,7 +292,7 @@ data:
 
     CREATE TABLE IF NOT EXISTS `mdb_concepts`
     (
-        id          bigint       NOT NULL AUTO_INCREMENT,
+        id          SERIAL,
         uri         text         not null,
         name        VARCHAR(255) null,
         description TEXT         null,
@@ -319,7 +303,7 @@ data:
 
     CREATE TABLE IF NOT EXISTS `mdb_units`
     (
-        id          bigint       NOT NULL AUTO_INCREMENT,
+        id          SERIAL,
         uri         text         not null,
         name        VARCHAR(255) null,
         description TEXT         null,
@@ -330,26 +314,26 @@ data:
 
     CREATE TABLE IF NOT EXISTS `mdb_columns_concepts`
     (
-        id      bigint    NOT NULL,
-        cID     bigint    NOT NULL,
-        created timestamp NOT NULL DEFAULT NOW(),
+        id      BIGINT UNSIGNED NOT NULL,
+        cID     BIGINT UNSIGNED NOT NULL,
+        created timestamp       NOT NULL DEFAULT NOW(),
         PRIMARY KEY (id, cid),
         FOREIGN KEY (cID) REFERENCES mdb_columns (ID)
     ) WITH SYSTEM VERSIONING;
 
     CREATE TABLE IF NOT EXISTS `mdb_columns_units`
     (
-        id      bigint    NOT NULL,
-        cID     bigint    NOT NULL,
-        created timestamp NOT NULL DEFAULT NOW(),
+        id      BIGINT UNSIGNED NOT NULL,
+        cID     BIGINT UNSIGNED NOT NULL,
+        created timestamp       NOT NULL DEFAULT NOW(),
         PRIMARY KEY (id, cID),
         FOREIGN KEY (cID) REFERENCES mdb_columns (ID)
     ) WITH SYSTEM VERSIONING;
 
     CREATE TABLE IF NOT EXISTS `mdb_view`
     (
-        id            bigint                NOT NULL AUTO_INCREMENT,
-        vdbid         bigint                NOT NULL,
+        id            SERIAL,
+        vdbid         BIGINT UNSIGNED       NOT NULL,
         vName         VARCHAR(64)           NOT NULL,
         internal_name VARCHAR(64)           NOT NULL,
         Query         TEXT                  NOT NULL,
@@ -366,7 +350,7 @@ data:
 
     CREATE TABLE IF NOT EXISTS `mdb_banner_messages`
     (
-        id            bigint                            NOT NULL AUTO_INCREMENT,
+        id            SERIAL,
         type          ENUM ('ERROR', 'WARNING', 'INFO') NOT NULL default 'INFO',
         message       TEXT                              NOT NULL,
         link          TEXT                              NULL,
@@ -378,7 +362,7 @@ data:
 
     CREATE TABLE IF NOT EXISTS `mdb_ontologies`
     (
-        id              bigint     NOT NULL AUTO_INCREMENT,
+        id              SERIAL,
         prefix          VARCHAR(8) NOT NULL,
         uri             TEXT       NOT NULL,
         uri_pattern     TEXT,
@@ -393,28 +377,28 @@ data:
 
     CREATE TABLE IF NOT EXISTS `mdb_view_columns`
     (
-        id               BIGINT      NOT NULL AUTO_INCREMENT,
-        view_id          BIGINT      NOT NULL,
-        dfID             BIGINT,
+        id               SERIAL,
+        view_id          BIGINT UNSIGNED NOT NULL,
+        dfID             BIGINT UNSIGNED,
         name             VARCHAR(64),
-        internal_name    VARCHAR(64) NOT NULL,
+        internal_name    VARCHAR(64)     NOT NULL,
         column_type      ENUM ('CHAR','VARCHAR','BINARY','VARBINARY','TINYBLOB','TINYTEXT','TEXT','BLOB','MEDIUMTEXT','MEDIUMBLOB','LONGTEXT','LONGBLOB','ENUM','SET','BIT','TINYINT','BOOL','SMALLINT','MEDIUMINT','INT','BIGINT','FLOAT','DOUBLE','DECIMAL','DATE','DATETIME','TIMESTAMP','TIME','YEAR'),
-        ordinal_position INTEGER     NOT NULL,
-        size             BIGINT,
-        d                BIGINT,
-        auto_generated   BOOLEAN              DEFAULT false,
-        is_null_allowed  BOOLEAN     NOT NULL DEFAULT true,
+        ordinal_position INTEGER         NOT NULL,
+        size             BIGINT UNSIGNED,
+        d                BIGINT UNSIGNED,
+        auto_generated   BOOLEAN                  DEFAULT false,
+        is_null_allowed  BOOLEAN         NOT NULL DEFAULT true,
         PRIMARY KEY (id),
         FOREIGN KEY (view_id) REFERENCES mdb_view (id)
     ) WITH SYSTEM VERSIONING;
 
     CREATE TABLE IF NOT EXISTS `mdb_identifiers`
     (
-        id                BIGINT                                       NOT NULL AUTO_INCREMENT,
-        dbid              BIGINT                                       NOT NULL,
-        qid               BIGINT,
-        vid               BIGINT,
-        tid               BIGINT,
+        id                SERIAL,
+        dbid              BIGINT UNSIGNED                              NOT NULL,
+        qid               BIGINT UNSIGNED,
+        vid               BIGINT UNSIGNED,
+        tid               BIGINT UNSIGNED,
         publisher         VARCHAR(255)                                 NOT NULL,
         language          VARCHAR(2),
         publication_year  INTEGER                                      NOT NULL,
@@ -439,8 +423,8 @@ data:
 
     CREATE TABLE IF NOT EXISTS `mdb_identifier_licenses`
     (
-        pid        bigint       NOT NULL,
-        license_id VARCHAR(255) NOT NULL,
+        pid        BIGINT UNSIGNED NOT NULL,
+        license_id VARCHAR(255)    NOT NULL,
         PRIMARY KEY (pid, license_id),
         FOREIGN KEY (pid) REFERENCES mdb_identifiers (id),
         FOREIGN KEY (license_id) REFERENCES mdb_licenses (identifier)
@@ -448,9 +432,9 @@ data:
 
     CREATE TABLE IF NOT EXISTS `mdb_identifier_titles`
     (
-        id         bigint NOT NULL AUTO_INCREMENT,
-        pid        bigint NOT NULL,
-        title      text   NOT NULL,
+        id         SERIAL,
+        pid        BIGINT UNSIGNED NOT NULL,
+        title      text            NOT NULL,
         title_type ENUM ('ALTERNATIVE_TITLE', 'SUBTITLE', 'TRANSLATED_TITLE', 'OTHER'),
         language   VARCHAR(2),
         PRIMARY KEY (id),
@@ -459,9 +443,9 @@ data:
 
     CREATE TABLE IF NOT EXISTS `mdb_identifier_funders`
     (
-        id                     bigint       NOT NULL AUTO_INCREMENT,
-        pid                    bigint       NOT NULL,
-        funder_name            VARCHAR(255) NOT NULL,
+        id                     SERIAL,
+        pid                    BIGINT UNSIGNED NOT NULL,
+        funder_name            VARCHAR(255)    NOT NULL,
         funder_identifier      TEXT,
         funder_identifier_type ENUM ('CROSSREF_FUNDER_ID', 'GRID', 'ISNI', 'ROR', 'OTHER'),
         scheme_uri             text,
@@ -474,9 +458,9 @@ data:
 
     CREATE TABLE IF NOT EXISTS `mdb_identifier_descriptions`
     (
-        id               bigint NOT NULL AUTO_INCREMENT,
-        pid              bigint NOT NULL,
-        description      text   NOT NULL,
+        id               SERIAL,
+        pid              BIGINT UNSIGNED NOT NULL,
+        description      text            NOT NULL,
         description_type ENUM ('ABSTRACT', 'METHODS', 'SERIES_INFORMATION', 'TABLE_OF_CONTENTS', 'TECHNICAL_INFO', 'OTHER'),
         language         VARCHAR(2),
         PRIMARY KEY (id),
@@ -485,11 +469,11 @@ data:
 
     CREATE TABLE IF NOT EXISTS `mdb_related_identifiers`
     (
-        id       bigint       NOT NULL AUTO_INCREMENT,
-        pid      bigint       NOT NULL,
-        value    varchar(255) NOT NULL,
-        type     varchar(255) NOT NULL,
-        relation varchar(255) NOT NULL,
+        id       SERIAL,
+        pid      BIGINT UNSIGNED NOT NULL,
+        value    varchar(255)    NOT NULL,
+        type     varchar(255)    NOT NULL,
+        relation varchar(255)    NOT NULL,
         PRIMARY KEY (id), /* must be a single id from persistent identifier concept */
         FOREIGN KEY (pid) REFERENCES mdb_identifiers (id),
         UNIQUE (pid, value)
@@ -497,11 +481,11 @@ data:
 
     CREATE TABLE IF NOT EXISTS `mdb_identifier_creators`
     (
-        id                                bigint       NOT NULL AUTO_INCREMENT,
-        pid                               bigint       NOT NULL,
+        id                                SERIAL,
+        pid                               BIGINT UNSIGNED NOT NULL,
         given_names                       text,
         family_name                       text,
-        creator_name                      VARCHAR(255) NOT NULL,
+        creator_name                      VARCHAR(255)    NOT NULL,
         name_type                         ENUM ('PERSONAL', 'ORGANIZATIONAL') default 'PERSONAL',
         name_identifier                   text,
         name_identifier_scheme            ENUM ('ROR', 'GRID', 'ISNI', 'ORCID'),
@@ -517,7 +501,7 @@ data:
     CREATE TABLE IF NOT EXISTS `mdb_update`
     (
         uUserID character varying(255) NOT NULL,
-        uDBID   bigint                 NOT NULL,
+        uDBID   BIGINT UNSIGNED        NOT NULL,
         created timestamp              NOT NULL DEFAULT NOW(),
         PRIMARY KEY (uUserID, uDBID),
         FOREIGN KEY (uDBID) REFERENCES mdb_databases (id)
@@ -526,7 +510,7 @@ data:
     CREATE TABLE IF NOT EXISTS `mdb_access`
     (
         aUserID  character varying(255) NOT NULL,
-        aDBID    bigint REFERENCES mdb_databases (id),
+        aDBID    BIGINT UNSIGNED REFERENCES mdb_databases (id),
         attime   TIMESTAMP,
         download BOOLEAN,
         created  timestamp              NOT NULL DEFAULT NOW(),
@@ -536,14 +520,40 @@ data:
     CREATE TABLE IF NOT EXISTS `mdb_have_access`
     (
         user_id     character varying(36)                   NOT NULL,
-        database_id bigint REFERENCES mdb_databases (id),
+        database_id BIGINT UNSIGNED REFERENCES mdb_databases (id),
         access_type ENUM ('READ', 'WRITE_OWN', 'WRITE_ALL') NOT NULL,
         created     timestamp                               NOT NULL DEFAULT NOW(),
         PRIMARY KEY (user_id, database_id),
         FOREIGN KEY (user_id) REFERENCES mdb_users (id)
     ) WITH SYSTEM VERSIONING;
 
+    CREATE TABLE IF NOT EXISTS `mdb_image_types`
+    (
+        id            SERIAL,
+        image_id      BIGINT UNSIGNED NOT NULL,
+        display_name  varchar(255)    NOT NULL,
+        value         varchar(255)    NOT NULL,
+        size_min      INT UNSIGNED,
+        size_max      INT UNSIGNED,
+        size_default  INT UNSIGNED,
+        size_required BOOLEAN COMMENT 'When setting NULL, the service assumes the data type has no size',
+        size_step     INT UNSIGNED,
+        d_min         INT UNSIGNED,
+        d_max         INT UNSIGNED,
+        d_default     INT UNSIGNED,
+        d_required    BOOLEAN COMMENT 'When setting NULL, the service assumes the data type has no d',
+        d_step        INT UNSIGNED,
+        hint          TEXT,
+        documentation TEXT            NOT NULL,
+        is_quoted     BOOLEAN         NOT NULL,
+        is_buildable  BOOLEAN         NOT NULL,
+        PRIMARY KEY (id),
+        FOREIGN KEY (image_id) REFERENCES `mdb_images` (`id`),
+        UNIQUE (value)
+    ) WITH SYSTEM VERSIONING;
+
     COMMIT;
+
     BEGIN;
 
     INSERT INTO `mdb_licenses` (identifier, uri, description)
@@ -556,14 +566,73 @@ data:
     VALUES ('mariadb', 'docker.io', '11.1.3', 3306, 'org.hibernate.dialect.MariaDBDialect', 'org.mariadb.jdbc.Driver',
             'mariadb');
 
-    INSERT INTO `mdb_images_date` (iid, database_format, unix_format, example, has_time)
-    VALUES (1, '%Y-%c-%d %H:%i:%S.%f', 'yyyy-MM-dd HH:mm:ss.SSSSSS', '2022-01-30 13:44:25.499', true),
-           (1, '%Y-%c-%d %H:%i:%S', 'yyyy-MM-dd HH:mm:ss', '2022-01-30 13:44:25', true),
-           (1, '%Y-%c-%d', 'yyyy-MM-dd', '2022-01-30', false),
-           (1, '%H:%i:%S', 'HH:mm:ss', '13:44:25', true),
-           (1, '%d.%c.%Y', 'dd.MM.yyyy', '30.01.2022', false);
-
-    INSERT INTO `mdb_ontologies` (prefix, uri, uri_pattern, sparql_endpoint, rdf_path)
+    INSERT INTO `mdb_image_types` (image_id, display_name, value, size_min, size_max, size_default, size_required,
+                                   size_step, d_min, d_max, d_default, d_required, d_step, hint, documentation,
+                                   is_quoted,
+                                   is_buildable)
+    VALUES (1, 'BIGINT(size)', 'bigint', 0, null, null, false, 1, null, null, null, null, null, null,
+            'https://mariadb.com/kb/en/bigint/', false, true),
+           (1, 'BINARY(size)', 'binary', 0, 255, 255, true, 1, null, null, null, null, null, 'size in Bytes',
+            'https://mariadb.com/kb/en/binary/', false, true),
+           (1, 'BIT(size)', 'bit', 0, 64, null, false, 1, null, null, null, null, null, null,
+            'https://mariadb.com/kb/en/bit/', false, true),
+           (1, 'BLOB(size)', 'blob', 0, 65535, null, false, 1, null, null, null, null, null, 'size in Bytes',
+            'https://mariadb.com/kb/en/blob/', false, false),
+           (1, 'BOOL', 'bool', null, null, null, null, null, null, null, null, null, null, null,
+            'https://mariadb.com/kb/en/bool/', false, true),
+           (1, 'CHAR(size)', 'char', 0, 255, 255, false, 1, null, null, null, null, null, null,
+            'https://mariadb.com/kb/en/char/', false, true),
+           (1, 'DATE', 'date', null, null, null, null, null, null, null, null, null, null,
+            'min. 1000-01-01, max. 9999-12-31', 'https://mariadb.com/kb/en/date/', true, true),
+           (1, 'DATETIME(fsp)', 'datetime', 0, 6, null, null, 1, null, null, null, null, null,
+            'fsp=microsecond precision, min. 1000-01-01 00:00:00.0, max. 9999-12-31 23:59:59.9',
+            'https://mariadb.com/kb/en/datetime/', true, true),
+           (1, 'DECIMAL(size, d)', 'decimal', 0, 65, null, false, 1, 0, 38, null, false, null, null,
+            'https://mariadb.com/kb/en/decimal/', false, true),
+           (1, 'DOUBLE(size, d)', 'double', null, null, null, false, null, null, null, null, false, null, null,
+            'https://mariadb.com/kb/en/double/', false, true),
+           (1, 'ENUM(v1,v2,...)', 'enum', null, null, null, null, null, null, null, null, null, null, null,
+            'https://mariadb.com/kb/en/enum/', true, true),
+           (1, 'FLOAT(size)', 'float', null, null, null, false, null, null, null, null, null, null, null,
+            'https://mariadb.com/kb/en/float/', false, true),
+           (1, 'INT(size)', 'int', null, null, null, false, null, null, null, null, null, null, 'size in Bytes',
+            'https://mariadb.com/kb/en/int/', false, true),
+           (1, 'LONGBLOB', 'longblob', null, null, null, null, null, null, null, null, null, null, 'max. 3.999 GiB',
+            'https://mariadb.com/kb/en/longblob/', false, true),
+           (1, 'LONGTEXT', 'longtext', null, null, null, null, null, null, null, null, null, null, 'max. 3.999 GiB',
+            'https://mariadb.com/kb/en/longtext/', true, true),
+           (1, 'MEDIUMBLOB', 'mediumblob', null, null, null, null, null, null, null, null, null, null,
+            'max. 15.999 MiB',
+            'https://mariadb.com/kb/en/mediumblob/', false, true),
+           (1, 'MEDIUMINT', 'mediumint', null, null, null, null, null, null, null, null, null, null, 'size in Bytes',
+            'https://mariadb.com/kb/en/mediumint/', false, true),
+           (1, 'MEDIUMTEXT', 'mediumtext', null, null, null, null, null, null, null, null, null, null, 'size in Bytes',
+            'https://mariadb.com/kb/en/mediumtext/', true, true),
+           (1, 'SET(v1,v2,...)', 'set', null, null, null, null, null, null, null, null, null, null, null,
+            'https://mariadb.com/kb/en/set/', true, true),
+           (1, 'SMALLINT(size)', 'smallint', 0, null, null, false, null, null, null, null, null, null, 'size in Bytes',
+            'https://mariadb.com/kb/en/smallint/', false, true),
+           (1, 'TEXT(size)', 'text', 0, null, null, false, null, null, null, null, null, null, 'size in Bytes',
+            'https://mariadb.com/kb/en/text/', true, true),
+           (1, 'TIME(fsp)', 'time', 0, 6, 0, false, null, null, null, null, null, null,
+            'fsp=microsecond precision, min. 0, max. 6', 'https://mariadb.com/kb/en/time/', true, true),
+           (1, 'TIMESTAMP(fsp)', 'timestamp', 0, 6, 0, false, null, null, null, null, null, null,
+            'fsp=microsecond precision, min. 0, max. 6', 'https://mariadb.com/kb/en/timestamp/', true, true),
+           (1, 'TINYBLOB', 'tinyblob', null, null, null, null, null, null, null, null, null, null,
+            'fsp=microsecond precision, min. 0, max. 6', 'https://mariadb.com/kb/en/timestamp/', false, true),
+           (1, 'TINYINT(size)', 'tinyint', 0, null, null, false, null, null, null, null, null, null,
+            'size in Bytes', 'https://mariadb.com/kb/en/tinyint/', false, true),
+           (1, 'TINYTEXT', 'tinytext', null, null, null, null, null, null, null, null, null, null,
+            'max. 255 characters', 'https://mariadb.com/kb/en/tinytext/', true, true),
+           (1, 'YEAR', 'year', 2, 4, null, false, 2, null, null, null, null, null, 'min. 1901, max. 2155',
+            'https://mariadb.com/kb/en/year/', false, true),
+           (1, 'VARBINARY(size)', 'varbinary', 0, null, null, true, null, null, null, null, null, null,
+            null, 'https://mariadb.com/kb/en/varbinary/', false, true),
+           (1, 'VARCHAR(size)', 'varchar', 0, 65532, 255, true, null, null, null, null, null, null,
+            null, 'https://mariadb.com/kb/en/varchar/', false, true);
+
+    INSERT
+    INTO `mdb_ontologies` (prefix, uri, uri_pattern, sparql_endpoint, rdf_path)
     VALUES ('om', 'http://www.ontology-of-units-of-measure.org/resource/om-2/',
             'http://www.ontology-of-units-of-measure.org/resource/om-2/.*', null, 'rdf/om-2.0.rdf'),
            ('wd', 'http://www.wikidata.org/', 'http://www.wikidata.org/entity/.*', 'https://query.wikidata.org/sparql',
diff --git a/helm/dbrepo/values.yaml b/helm/dbrepo/values.yaml
index d889cc85b7..dc7189e362 100644
--- a/helm/dbrepo/values.yaml
+++ b/helm/dbrepo/values.yaml
@@ -854,14 +854,14 @@ metricdb:
       enabled: true
     ## @skip metricdb.server.extraScrapeConfigs
     extraScrapeConfigs:
-      - job_name: 'spring boot scrape'
+      - job_name: 'actuator scrape'
         metrics_path: '/actuator/prometheus'
         static_configs:
-          - targets: [ 'data-service', 'metadata-service' ]
+          - targets: [ 'data-service', 'metadata-service', 'ui' ]
       - job_name: 'metrics scrape'
         metrics_path: '/metrics'
         static_configs:
-          - targets: [ 'auth-service-metrics:8080', 'analyse-service', 'search-service', 'data-db:8080', 'data-db-metrics:9104', 'broker-service:9419', 'ui', 'metadata-db-metrics:9104', 'dashboard-service:3000', 'storage-service-master-metrics:9327', 'upload-service' ]
+          - targets: [ 'auth-service-metrics:8080', 'analyse-service', 'search-service', 'data-db:8080', 'data-db-metrics:9104', 'broker-service:9419', 'metadata-db-metrics:9104', 'dashboard-service:3000', 'storage-service-master-metrics:9327', 'upload-service' ]
 
 ## @section Ingress
 
-- 
GitLab