From 01333dfff4bdc9eb8f33bbc578d2d8e78c3e7232 Mon Sep 17 00:00:00 2001
From: Martin Weise <martin.weise@tuwien.ac.at>
Date: Thu, 24 Nov 2022 21:37:14 +0100
Subject: [PATCH] Fixed the id columns

---
 .../at/tuwien/endpoints/TokenEndpoint.java    |   5 +-
 .../impl/AuthenticationServiceImpl.java       |   6 +-
 .../service/impl/MariaDbServiceImpl.java      |   1 -
 .../IdentifierServiceIntegrationTest.java     |   1 -
 fda-metadata-db/Dockerfile                    |   6 +-
 .../at/tuwien/api/auth/TokenBriefDto.java     |   4 -
 .../java/at/tuwien/api/auth/TokenDto.java     |   4 -
 .../at/tuwien/api/database/DatabaseDto.java   |   4 -
 .../at/tuwien/api/database/ViewBriefDto.java  |   4 -
 .../java/at/tuwien/api/database/ViewDto.java  |   4 -
 .../api/identifier/RelatedIdentifierDto.java  |   3 -
 .../tuwien/entities/container/Container.java  |   5 -
 .../container/image/ContainerImage.java       |   4 +-
 .../container/image/ContainerImageDate.java   |   4 +-
 .../image/ContainerImageEnvironmentItem.java  |   4 +-
 .../at/tuwien/entities/database/Database.java |   9 +-
 .../at/tuwien/entities/database/View.java     |   7 +-
 .../tuwien/entities/database/table/Table.java |   4 +-
 .../database/table/columns/TableColumn.java   |   4 +-
 .../table/columns/concepts/ColumnConcept.java |   4 +-
 .../table/columns/concepts/Concept.java       |   4 +-
 .../tuwien/entities/identifier/Creator.java   |   4 +-
 .../entities/identifier/Identifier.java       |   9 +-
 .../identifier/RelatedIdentifier.java         |   8 +-
 .../at/tuwien/entities/user/TimeSecret.java   |   4 +-
 .../java/at/tuwien/entities/user/Token.java   |   9 +-
 .../java/at/tuwien/entities/user/User.java    |   5 +-
 .../main/java/at/tuwien/querystore/View.java  |   3 -
 fda-metadata-db/setup-schema.sql              | 179 ++----------------
 fda-metadata-db/setup-user.sh                 |   6 -
 30 files changed, 53 insertions(+), 265 deletions(-)
 delete mode 100644 fda-metadata-db/setup-user.sh

diff --git a/fda-authentication-service/rest-service/src/main/java/at/tuwien/endpoints/TokenEndpoint.java b/fda-authentication-service/rest-service/src/main/java/at/tuwien/endpoints/TokenEndpoint.java
index 7a7bea971b..0fed6c2a5a 100644
--- a/fda-authentication-service/rest-service/src/main/java/at/tuwien/endpoints/TokenEndpoint.java
+++ b/fda-authentication-service/rest-service/src/main/java/at/tuwien/endpoints/TokenEndpoint.java
@@ -67,10 +67,7 @@ public class TokenEndpoint {
             TokenNotEligableException {
         log.debug("endpoint create developer token, principal={}", principal);
         /* check */
-        final List<Token> tokens = tokenService.findAll(principal)
-                .stream()
-                .filter(t -> Objects.isNull(t.getDeleted()))
-                .collect(Collectors.toList());
+        final List<Token> tokens = tokenService.findAll(principal);
         log.trace("found all tokens {}", tokens);
         if (tokens.size() >= authenticationConfig.getTokenCount()) {
             log.error("Failed to create token, already exceeded maximum quota of {}", authenticationConfig.getTokenCount());
diff --git a/fda-authentication-service/services/src/main/java/at/tuwien/service/impl/AuthenticationServiceImpl.java b/fda-authentication-service/services/src/main/java/at/tuwien/service/impl/AuthenticationServiceImpl.java
index c259757ba9..633fc469e5 100644
--- a/fda-authentication-service/services/src/main/java/at/tuwien/service/impl/AuthenticationServiceImpl.java
+++ b/fda-authentication-service/services/src/main/java/at/tuwien/service/impl/AuthenticationServiceImpl.java
@@ -75,7 +75,7 @@ public class AuthenticationServiceImpl implements AuthenticationService {
 
     @Override
     @Transactional
-    public void verifyToken(String authorization) throws TokenRevokedException {
+    public void verifyToken(String authorization) {
         final String hash = authenticationMapper.authorizationToTokenHash(authorization);
         final Optional<Token> optional = tokenRepository.findByTokenHash(hash);
         if (optional.isEmpty()) {
@@ -83,10 +83,6 @@ public class AuthenticationServiceImpl implements AuthenticationService {
             return;
         }
         final Token token = optional.get();
-        if (token.getDeleted() != null) {
-            log.warn("Token with hash {} is marked as revoked", hash);
-            throw new TokenRevokedException("Token is marked as revoked");
-        }
         token.setLastUsed(Instant.now());
         tokenRepository.save(token);
         log.info("Updated token usage of token with hash {}", hash);
diff --git a/fda-database-service/services/src/main/java/at/tuwien/service/impl/MariaDbServiceImpl.java b/fda-database-service/services/src/main/java/at/tuwien/service/impl/MariaDbServiceImpl.java
index fe796dfb50..2bf9fc672e 100644
--- a/fda-database-service/services/src/main/java/at/tuwien/service/impl/MariaDbServiceImpl.java
+++ b/fda-database-service/services/src/main/java/at/tuwien/service/impl/MariaDbServiceImpl.java
@@ -107,7 +107,6 @@ public class MariaDbServiceImpl extends HibernateConnector implements DatabaseSe
         } finally {
             dataSource.close();
         }
-        database.setDeleted(Instant.now()) /* method has void, only for debug logs */;
         /* save in metadata database */
         databaseRepository.deleteById(databaseId);
         log.info("Deleted database with id {}", databaseId);
diff --git a/fda-identifier-service/rest-service/src/test/java/at/tuwien/service/IdentifierServiceIntegrationTest.java b/fda-identifier-service/rest-service/src/test/java/at/tuwien/service/IdentifierServiceIntegrationTest.java
index 49818d1e61..1954c0579e 100644
--- a/fda-identifier-service/rest-service/src/test/java/at/tuwien/service/IdentifierServiceIntegrationTest.java
+++ b/fda-identifier-service/rest-service/src/test/java/at/tuwien/service/IdentifierServiceIntegrationTest.java
@@ -89,7 +89,6 @@ public class IdentifierServiceIntegrationTest extends BaseUnitTest {
                 .created(IDENTIFIER_2_CREATED)
                 .lastModified(IDENTIFIER_2_MODIFIED)
                 .publicationYear(IDENTIFIER_2_PUBLICATION_YEAR)
-                .deleted(Instant.now().minus(4, ChronoUnit.MINUTES))
                 .publisher(IDENTIFIER_2_PUBLISHER)
                 .type(IDENTIFIER_2_TYPE)
                 .build());
diff --git a/fda-metadata-db/Dockerfile b/fda-metadata-db/Dockerfile
index f9b7c8bece..32417ec6bf 100644
--- a/fda-metadata-db/Dockerfile
+++ b/fda-metadata-db/Dockerfile
@@ -25,17 +25,13 @@ ENV METADATA_USERNAME=root
 ENV METADATA_PASSWORD=dbrepo
 ENV MARIADB_DATABASE="${METADATA_DB}"
 ENV MARIADB_ROOT_PASSWORD="${METADATA_PASSWORD}"
-ENV MARIADB_USERNAME="${METADATA_USERNAME}"
-ENV MARIADB_PASSWORD="${METADATA_PASSWORD}"
 
 # Scripts are copied to /docker-entrypoint-initdb.d/ in docker-compose from analyze service
 HEALTHCHECK --interval=10s --timeout=5s --retries=12 CMD mysqladmin ping --user="$METADATA_USERNAME" --password="$METADATA_PASSWORD" --silent
 
 WORKDIR /docker-entrypoint-initdb.d
 
-COPY ./setup-schema.sql ./1.sql
-COPY ./setup-user.sh ./2.sh
-RUN chmod +x ./2.sh
+COPY ./setup-schema.sql ./setup-schema.sql
 
 WORKDIR /app
 
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/auth/TokenBriefDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/auth/TokenBriefDto.java
index 6c22889045..cbb5060540 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/auth/TokenBriefDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/auth/TokenBriefDto.java
@@ -40,8 +40,4 @@ public class TokenBriefDto {
     @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", timezone = "UTC")
     private Instant expires;
 
-    @Schema(example = "2020-08-04 11:13:00")
-    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", timezone = "UTC")
-    private Instant deleted;
-
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/auth/TokenDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/auth/TokenDto.java
index 6e3868f520..1cf442509c 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/auth/TokenDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/auth/TokenDto.java
@@ -40,10 +40,6 @@ public class TokenDto {
     @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", timezone = "UTC")
     private Instant expires;
 
-    @Schema(example = "2020-08-04 11:13:00")
-    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", timezone = "UTC")
-    private Instant deleted;
-
     @NotBlank
     @Schema(example = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c")
     private String token;
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseDto.java
index 9b55f61af6..5abdf33d0b 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseDto.java
@@ -62,8 +62,4 @@ public class DatabaseDto {
     @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", timezone = "UTC")
     private Instant created;
 
-    @Schema(example = "2020-08-04 11:13:00")
-    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", timezone = "UTC")
-    private Instant deleted;
-
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/ViewBriefDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/ViewBriefDto.java
index fa5346ca32..2b45c7b065 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/ViewBriefDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/ViewBriefDto.java
@@ -53,8 +53,4 @@ public class ViewBriefDto {
     @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", timezone = "UTC")
     private Instant lastModified;
 
-    @Schema(example = "2020-08-04 11:13:00")
-    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", timezone = "UTC")
-    private Instant deleted;
-
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/ViewDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/ViewDto.java
index 1e12924bfe..fcd6e9c00a 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/ViewDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/ViewDto.java
@@ -56,8 +56,4 @@ public class ViewDto {
     @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", timezone = "UTC")
     private Instant lastModified;
 
-    @Schema(example = "2020-08-04 11:13:00")
-    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", timezone = "UTC")
-    private Instant deleted;
-
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/identifier/RelatedIdentifierDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/identifier/RelatedIdentifierDto.java
index c6d5c13bf1..b7ffb97c90 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/identifier/RelatedIdentifierDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/identifier/RelatedIdentifierDto.java
@@ -47,9 +47,6 @@ public class RelatedIdentifierDto {
     @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", timezone = "UTC")
     private Instant lastModified;
 
-    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", timezone = "UTC")
-    private Instant deleted;
-
 }
 
 
diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/Container.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/Container.java
index b8f9ecabe1..25d86eee19 100644
--- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/Container.java
+++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/Container.java
@@ -22,10 +22,8 @@ import java.util.List;
 @ToString
 @AllArgsConstructor
 @NoArgsConstructor
-@Where(clause = "deleted is null")
 @EntityListeners(AuditingEntityListener.class)
 @EqualsAndHashCode(onlyExplicitlyIncluded = true)
-@SQLDelete(sql = "update mdb_containers set deleted = NOW() where id = ?")
 @Table(name = "mdb_containers")
 public class Container {
 
@@ -75,7 +73,4 @@ public class Container {
     @LastModifiedDate
     private Instant lastModified;
 
-    @Column
-    private Instant deleted;
-
 }
diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImage.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImage.java
index 07c389d693..f6fd50d0fd 100644
--- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImage.java
+++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImage.java
@@ -26,8 +26,8 @@ public class ContainerImage {
 
     @Id
     @EqualsAndHashCode.Include
-    @GenericGenerator(name = "native", strategy = "native")
-    @GeneratedValue(strategy = GenerationType.AUTO, generator = "native")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(updatable = false, nullable = false)
     public Long id;
 
     @Column(nullable = false)
diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageDate.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageDate.java
index 26adee0347..e5624a464a 100644
--- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageDate.java
+++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageDate.java
@@ -23,8 +23,8 @@ public class ContainerImageDate {
 
     @Id
     @EqualsAndHashCode.Include
-    @GenericGenerator(name = "native", strategy = "native")
-    @GeneratedValue(strategy = GenerationType.AUTO, generator = "native")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(updatable = false, nullable = false)
     private Long id;
 
     @Column(name = "iid")
diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageEnvironmentItem.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageEnvironmentItem.java
index 121933d4c3..a1abe5acad 100644
--- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageEnvironmentItem.java
+++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageEnvironmentItem.java
@@ -23,8 +23,8 @@ public class ContainerImageEnvironmentItem {
 
     @Id
     @EqualsAndHashCode.Include
-    @GenericGenerator(name = "native", strategy = "native")
-    @GeneratedValue(strategy = GenerationType.AUTO, generator = "native")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(updatable = false, nullable = false)
     public Long id;
 
     @Id
diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/Database.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/Database.java
index 190d971539..41fe84a528 100644
--- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/Database.java
+++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/Database.java
@@ -24,9 +24,7 @@ import java.util.List;
 @AllArgsConstructor
 @NoArgsConstructor
 @Document(indexName = "databaseindex", createIndex = false)
-@Where(clause = "deleted is null")
 @EntityListeners(AuditingEntityListener.class)
-@SQLDelete(sql = "update mdb_databases set deleted = NOW() where id = ?")
 @javax.persistence.Table(name = "mdb_databases", uniqueConstraints = {
         @UniqueConstraint(columnNames = {"id", "internalName"})
 })
@@ -34,8 +32,8 @@ public class Database {
 
     @Id
     @EqualsAndHashCode.Include
-    @GenericGenerator(name = "native", strategy = "native")
-    @GeneratedValue(strategy = GenerationType.AUTO, generator = "native")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(updatable = false, nullable = false)
     private Long id;
 
     @ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@@ -87,7 +85,4 @@ public class Database {
     @LastModifiedDate
     private Instant lastModified;
 
-    @Column
-    private Instant deleted;
-
 }
diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/View.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/View.java
index 0a60f175b5..ab289dd9d2 100644
--- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/View.java
+++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/View.java
@@ -23,8 +23,8 @@ public class View {
 
     @Id
     @EqualsAndHashCode.Include
-    @GenericGenerator(name = "native", strategy = "native")
-    @GeneratedValue(strategy = GenerationType.AUTO, generator = "native")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(updatable = false, nullable = false)
     private Long id;
 
     @Id
@@ -69,7 +69,4 @@ public class View {
     @LastModifiedDate
     private Instant lastModified;
 
-    @Column
-    private Instant deleted;
-
 }
diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/Table.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/Table.java
index 77e548c47d..eff1bce677 100644
--- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/Table.java
+++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/Table.java
@@ -31,8 +31,8 @@ public class Table {
 
     @Id
     @EqualsAndHashCode.Include
-    @GenericGenerator(name = "native", strategy = "native")
-    @GeneratedValue(strategy = GenerationType.AUTO, generator = "native")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(updatable = false, nullable = false)
     private Long id;
 
     @Id
diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumn.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumn.java
index eb13193b15..f74fb634a5 100644
--- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumn.java
+++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumn.java
@@ -32,8 +32,8 @@ public class TableColumn implements Comparable<TableColumn> {
 
     @Id
     @EqualsAndHashCode.Include
-    @GenericGenerator(name = "native", strategy = "native")
-    @GeneratedValue(strategy = GenerationType.AUTO, generator = "native")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(updatable = false, nullable = false)
     private Long id;
 
     @Id
diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/concepts/ColumnConcept.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/concepts/ColumnConcept.java
index a2ed5eb24a..1afdedcd0f 100644
--- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/concepts/ColumnConcept.java
+++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/concepts/ColumnConcept.java
@@ -24,8 +24,8 @@ public class ColumnConcept implements Serializable {
 
     @Id
     @EqualsAndHashCode.Include
-    @GenericGenerator(name = "native", strategy = "native")
-    @GeneratedValue(strategy = GenerationType.AUTO, generator = "native")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(updatable = false, nullable = false)
     private Long cid;
 
     @Id
diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/concepts/Concept.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/concepts/Concept.java
index 6def65fe55..00c984934c 100644
--- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/concepts/Concept.java
+++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/concepts/Concept.java
@@ -23,8 +23,8 @@ public class Concept {
 
     @Id
     @EqualsAndHashCode.Include
-    @GenericGenerator(name = "native", strategy = "native")
-    @GeneratedValue(strategy = GenerationType.AUTO, generator = "native")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(updatable = false, nullable = false)
     private Long id;
 
     @Column(name = "URI", nullable = false, columnDefinition = "TEXT")
diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/Creator.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/Creator.java
index 1681f68d4a..b1bd315be0 100644
--- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/Creator.java
+++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/Creator.java
@@ -23,8 +23,8 @@ public class Creator {
 
     @Id
     @EqualsAndHashCode.Include
-    @GenericGenerator(name = "native", strategy = "native")
-    @GeneratedValue(strategy = GenerationType.AUTO, generator = "native")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(updatable = false, nullable = false)
     private Long id;
 
     @Id
diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/Identifier.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/Identifier.java
index 950e54da3a..44c3a096e4 100644
--- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/Identifier.java
+++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/Identifier.java
@@ -23,9 +23,7 @@ import java.util.List;
 @ToString
 @AllArgsConstructor
 @NoArgsConstructor
-@Where(clause = "deleted is null")
 @EntityListeners(AuditingEntityListener.class)
-@SQLDelete(sql = "update mdb_identifiers set deleted = NOW() where id = ?")
 @javax.persistence.Table(name = "mdb_identifiers", uniqueConstraints = {
         @UniqueConstraint(columnNames = {"qid", "cid", "dbid"})
 })
@@ -33,8 +31,8 @@ public class Identifier {
 
     @Id
     @EqualsAndHashCode.Include
-    @GenericGenerator(name = "native", strategy = "native")
-    @GeneratedValue(strategy = GenerationType.AUTO, generator = "native")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(updatable = false, nullable = false)
     private Long id;
 
     @Column(name = "cid", nullable = false)
@@ -133,9 +131,6 @@ public class Identifier {
     @LastModifiedDate
     private Instant lastModified;
 
-    @Column
-    private Instant deleted;
-
 }
 
 
diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/RelatedIdentifier.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/RelatedIdentifier.java
index ad318c4a22..280715c956 100644
--- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/RelatedIdentifier.java
+++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/RelatedIdentifier.java
@@ -19,7 +19,6 @@ import java.time.Instant;
 @AllArgsConstructor
 @NoArgsConstructor
 @IdClass(RelatedIdentifierKey.class)
-@Where(clause = "deleted is null")
 @EqualsAndHashCode(onlyExplicitlyIncluded = true)
 @EntityListeners(AuditingEntityListener.class)
 @Table(name = "mdb_related_identifiers", uniqueConstraints = {
@@ -29,8 +28,8 @@ public class RelatedIdentifier {
 
     @Id
     @EqualsAndHashCode.Include
-    @GenericGenerator(name = "native", strategy = "native")
-    @GeneratedValue(strategy = GenerationType.AUTO, generator = "native")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(updatable = false, nullable = false)
     private Long id;
 
     @Id
@@ -62,9 +61,6 @@ public class RelatedIdentifier {
     @LastModifiedDate
     private Instant lastModified;
 
-    @Column
-    private Instant deleted;
-
 }
 
 
diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/user/TimeSecret.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/user/TimeSecret.java
index c6922b8541..53d71c8cc7 100644
--- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/user/TimeSecret.java
+++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/user/TimeSecret.java
@@ -23,8 +23,8 @@ public class TimeSecret {
 
     @Id
     @EqualsAndHashCode.Include
-    @GenericGenerator(name = "native", strategy = "native")
-    @GeneratedValue(strategy = GenerationType.AUTO, generator = "native")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(updatable = false, nullable = false)
     private Long id;
 
     @Column(nullable = false)
diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/user/Token.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/user/Token.java
index bacb80fc34..241f16e777 100644
--- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/user/Token.java
+++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/user/Token.java
@@ -16,7 +16,6 @@ import java.time.Instant;
 @AllArgsConstructor
 @NoArgsConstructor
 @ToString
-@SQLDelete(sql = "update mdb_tokens set deleted = NOW() where id = ?")
 @EntityListeners(AuditingEntityListener.class)
 @EqualsAndHashCode(onlyExplicitlyIncluded = true)
 @Table(name = "mdb_tokens")
@@ -24,9 +23,8 @@ public class Token {
 
     @Id
     @EqualsAndHashCode.Include
-    @Column(name = "id")
-    @GenericGenerator(name = "native", strategy = "native")
-    @GeneratedValue(strategy = GenerationType.AUTO, generator = "native")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(updatable = false, nullable = false)
     private Long id;
 
     @Column(nullable = false, updatable = false)
@@ -50,7 +48,4 @@ public class Token {
     @Column(nullable = false, updatable = false)
     private Instant lastUsed;
 
-    @Column(nullable = false, updatable = false)
-    private Instant deleted;
-
 }
diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/user/User.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/user/User.java
index 691bc2af6d..eb1f77d74a 100644
--- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/user/User.java
+++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/user/User.java
@@ -25,9 +25,8 @@ public class User {
 
     @Id
     @EqualsAndHashCode.Include
-    @Column(name = "userid")
-    @GenericGenerator(name = "native", strategy = "native")
-    @GeneratedValue(strategy = GenerationType.AUTO, generator = "native")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "userid", updatable = false, nullable = false)
     private Long id;
 
     @Column(unique = true, nullable = false)
diff --git a/fda-metadata-db/querystore/src/main/java/at/tuwien/querystore/View.java b/fda-metadata-db/querystore/src/main/java/at/tuwien/querystore/View.java
index 6a45ec9d0e..79419fca6e 100644
--- a/fda-metadata-db/querystore/src/main/java/at/tuwien/querystore/View.java
+++ b/fda-metadata-db/querystore/src/main/java/at/tuwien/querystore/View.java
@@ -55,9 +55,6 @@ public class View implements Serializable {
     @Column(nullable = false)
     private String query;
 
-    @Column
-    private Instant deleted;
-
     @Column(nullable = false, updatable = false)
     @CreatedDate
     private Instant created;
diff --git a/fda-metadata-db/setup-schema.sql b/fda-metadata-db/setup-schema.sql
index b8e6d24fe5..944a6b9e07 100644
--- a/fda-metadata-db/setup-schema.sql
+++ b/fda-metadata-db/setup-schema.sql
@@ -1,141 +1,8 @@
 BEGIN;
 
-CREATE SEQUENCE mdb_images_environment_item_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-CREATE SEQUENCE mdb_images_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-CREATE SEQUENCE mdb_images_date_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-CREATE SEQUENCE mdb_containers_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-CREATE SEQUENCE mdb_user_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-CREATE SEQUENCE mdb_user_role_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-CREATE SEQUENCE mdb_data_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-CREATE SEQUENCE mdb_databases_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-CREATE SEQUENCE mdb_tables_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-CREATE SEQUENCE mdb_columns_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-CREATE SEQUENCE mdb_columns_enum_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-CREATE SEQUENCE mdb_view_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-CREATE SEQUENCE mdb_columns_concepts_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-CREATE SEQUENCE mdb_identifiers_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-CREATE SEQUENCE mdb_related_identifiers_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-CREATE SEQUENCE mdb_creators_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-CREATE SEQUENCE mdb_time_secrets_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-CREATE SEQUENCE mdb_tokens_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-CREATE SEQUENCE mdb_concepts_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
 CREATE TABLE IF NOT EXISTS mdb_users
 (
-    UserID               bigint       not null DEFAULT nextval(mdb_user_seq),
+    UserID               bigint       not null AUTO_INCREMENT,
     external_id          VARCHAR(255) UNIQUE,
     OID                  bigint,
     username             VARCHAR(255) not null,
@@ -160,7 +27,7 @@ CREATE TABLE IF NOT EXISTS mdb_users
 
 CREATE TABLE mdb_images
 (
-    id            bigint                 NOT NULL DEFAULT nextval(mdb_images_seq),
+    id            bigint                 NOT NULL AUTO_INCREMENT,
     repository    character varying(255) NOT NULL,
     tag           character varying(255) NOT NULL,
     default_port  integer                NOT NULL,
@@ -178,7 +45,7 @@ CREATE TABLE mdb_images
 
 CREATE TABLE mdb_time_secrets
 (
-    id        bigint                 not null default nextval(mdb_time_secrets_seq),
+    id        bigint                 not null AUTO_INCREMENT,
     uid       bigint                 not null,
     token     character varying(255) NOT NULL,
     processed boolean                NOT NULL default false,
@@ -190,20 +57,19 @@ CREATE TABLE mdb_time_secrets
 
 CREATE TABLE mdb_tokens
 (
-    id         bigint       not null default nextval(mdb_tokens_seq),
+    id         bigint       not null AUTO_INCREMENT,
     token_hash varchar(255) NOT NULL,
     creator    bigint       not null,
     created    timestamp    NOT NULL DEFAULT NOW(),
     expires    timestamp    NOT NULL,
     last_used  timestamp,
-    deleted    timestamp,
     PRIMARY KEY (id),
     FOREIGN KEY (creator) REFERENCES mdb_users (UserID)
 );
 
 CREATE TABLE mdb_images_date
 (
-    id              bigint                 NOT NULL DEFAULT nextval(mdb_images_date_seq),
+    id              bigint                 NOT NULL AUTO_INCREMENT,
     iid             bigint                 NOT NULL,
     database_format character varying(255) NOT NULL,
     unix_format     character varying(255) NOT NULL,
@@ -217,7 +83,7 @@ CREATE TABLE mdb_images_date
 
 CREATE TABLE IF NOT EXISTS mdb_containers
 (
-    id            bigint                 NOT NULL DEFAULT nextval(mdb_containers_seq),
+    id            bigint                 NOT NULL AUTO_INCREMENT,
     HASH          character varying(255) NOT NULL,
     INTERNAL_NAME character varying(255) NOT NULL,
     NAME          character varying(255) NOT NULL,
@@ -227,7 +93,6 @@ CREATE TABLE IF NOT EXISTS mdb_containers
     created       timestamp              NOT NULL DEFAULT NOW(),
     created_by    bigint                 NOT NULL,
     LAST_MODIFIED timestamp,
-    deleted       timestamp,
     PRIMARY KEY (id),
     FOREIGN KEY (created_by) REFERENCES mdb_users (UserID),
     FOREIGN KEY (image_id) REFERENCES mdb_images (id)
@@ -235,7 +100,7 @@ CREATE TABLE IF NOT EXISTS mdb_containers
 
 CREATE TABLE mdb_images_environment_item
 (
-    id            bigint                                                                      NOT NULL DEFAULT nextval(mdb_images_environment_item_seq),
+    id            bigint                                                                      NOT NULL AUTO_INCREMENT,
     `key`         character varying(255)                                                      NOT NULL,
     value         character varying(255)                                                      NOT NULL,
     etype         ENUM ('PRIVILEGED_USERNAME', 'PRIVILEGED_PASSWORD', 'USERNAME', 'PASSWORD') NOT NULL,
@@ -248,7 +113,7 @@ CREATE TABLE mdb_images_environment_item
 
 CREATE TABLE IF NOT EXISTS mdb_data
 (
-    ID           bigint DEFAULT nextval(mdb_data_seq),
+    ID           bigint NOT NULL AUTO_INCREMENT,
     PROVENANCE   TEXT,
     FileEncoding TEXT,
     FileType     VARCHAR(100),
@@ -278,7 +143,7 @@ CREATE TABLE IF NOT EXISTS mdb_licenses
 
 CREATE TABLE IF NOT EXISTS mdb_databases
 (
-    id            bigint                 NOT NULL DEFAULT nextval(mdb_databases_seq),
+    id            bigint                 NOT NULL AUTO_INCREMENT,
     name          character varying(255) NOT NULL,
     internal_name character varying(255) NOT NULL,
     exchange      character varying(255) NOT NULL,
@@ -289,7 +154,6 @@ CREATE TABLE IF NOT EXISTS mdb_databases
     Contactperson BIGINT,
     created       timestamp              NOT NULL DEFAULT NOW(),
     last_modified timestamp,
-    deleted       timestamp              NULL,
     PRIMARY KEY (id),
     FOREIGN KEY (Creator) REFERENCES mdb_users (UserID),
     FOREIGN KEY (Contactperson) REFERENCES mdb_users (UserID),
@@ -305,7 +169,7 @@ CREATE TABLE IF NOT EXISTS mdb_databases_subjects
 
 CREATE TABLE IF NOT EXISTS mdb_tables
 (
-    ID            bigint                 NOT NULL DEFAULT nextval(mdb_tables_seq),
+    ID            bigint                 NOT NULL AUTO_INCREMENT,
     tDBID         bigint                 NOT NULL,
     internal_name character varying(255) NOT NULL,
     topic         character varying(255) NOT NULL,
@@ -323,14 +187,14 @@ CREATE TABLE IF NOT EXISTS mdb_tables
     created       timestamp              NOT NULL DEFAULT NOW(),
     created_by    bigint                 NOT NULL,
     last_modified timestamp,
-    PRIMARY KEY (tDBID, ID),
+    PRIMARY KEY (ID, tDBID),
     FOREIGN KEY (created_by) REFERENCES mdb_users (UserID),
     FOREIGN KEY (tDBID) REFERENCES mdb_databases (id)
 );
 
 CREATE TABLE IF NOT EXISTS mdb_columns
 (
-    ID               bigint       NOT NULL DEFAULT nextval(mdb_columns_seq),
+    ID               bigint       NOT NULL AUTO_INCREMENT,
     cDBID            bigint       NOT NULL,
     tID              bigint       NOT NULL,
     dfID             bigint,
@@ -350,12 +214,12 @@ CREATE TABLE IF NOT EXISTS mdb_columns
     last_modified    timestamp,
     FOREIGN KEY (cDBID, tID) REFERENCES mdb_tables (tDBID, ID),
     FOREIGN KEY (created_by) REFERENCES mdb_users (UserID),
-    PRIMARY KEY (cDBID, tID, ID)
+    PRIMARY KEY (ID, cDBID, tID)
 );
 
 CREATE TABLE IF NOT EXISTS mdb_columns_enums
 (
-    ID            bigint                 NOT NULL DEFAULT nextval(mdb_columns_enum_seq),
+    ID            bigint                 NOT NULL AUTO_INCREMENT,
     eDBID         bigint                 NOT NULL,
     tID           bigint                 NOT NULL,
     cID           bigint                 NOT NULL,
@@ -411,7 +275,7 @@ CREATE TABLE IF NOT EXISTS mdb_columns_cat
 
 CREATE TABLE IF NOT EXISTS mdb_concepts
 (
-    id         bigint    not null default nextval(mdb_concepts_seq),
+    id         bigint    not null AUTO_INCREMENT,
     URI        TEXT,
     name       VARCHAR(255),
     created    timestamp NOT NULL DEFAULT NOW(),
@@ -435,7 +299,7 @@ CREATE TABLE IF NOT EXISTS mdb_columns_concepts
 
 CREATE TABLE IF NOT EXISTS mdb_view
 (
-    id            bigint       NOT NULL DEFAULT nextval(mdb_view_seq),
+    id            bigint       NOT NULL AUTO_INCREMENT,
     vcid          bigint       NOT NULL,
     vdbid         bigint       NOT NULL,
     vName         VARCHAR(255) NOT NULL,
@@ -447,16 +311,15 @@ CREATE TABLE IF NOT EXISTS mdb_view
     InitialView   BOOLEAN      NOT NULL,
     created       timestamp    NOT NULL DEFAULT NOW(),
     last_modified timestamp,
-    deleted       timestamp,
     created_by    bigint       NOT NULL,
     FOREIGN KEY (created_by) REFERENCES mdb_users (UserID),
     FOREIGN KEY (vdbid) REFERENCES mdb_databases (id),
-    PRIMARY KEY (vdbid, id)
+    PRIMARY KEY (id, vdbid)
 );
 
 CREATE TABLE IF NOT EXISTS mdb_identifiers
 (
-    id                bigint                                        DEFAULT nextval(mdb_identifiers_seq),
+    id                bigint                               NOT NULL AUTO_INCREMENT,
     cid               bigint                               NOT NULL,
     dbid              bigint                               NOT NULL,
     qid               bigint,
@@ -480,7 +343,6 @@ CREATE TABLE IF NOT EXISTS mdb_identifiers
     created           timestamp                            NOT NULL DEFAULT NOW(),
     created_by        bigint                               NOT NULL,
     last_modified     timestamp,
-    deleted           timestamp,
     PRIMARY KEY (id), /* must be a single id from persistent identifier concept */
     FOREIGN KEY (cid) REFERENCES mdb_containers (id),
     FOREIGN KEY (dbid) REFERENCES mdb_databases (id),
@@ -490,7 +352,7 @@ CREATE TABLE IF NOT EXISTS mdb_identifiers
 
 CREATE TABLE IF NOT EXISTS mdb_related_identifiers
 (
-    id            bigint                DEFAULT nextval(mdb_related_identifiers_seq),
+    id            bigint       NOT NULL AUTO_INCREMENT,
     iid           bigint       NOT NULL,
     value         varchar(255) NOT NULL,
     type          varchar(255),
@@ -498,7 +360,6 @@ CREATE TABLE IF NOT EXISTS mdb_related_identifiers
     created       timestamp    NOT NULL DEFAULT NOW(),
     created_by    bigint       NOT NULL,
     last_modified timestamp,
-    deleted       timestamp,
     PRIMARY KEY (id, iid), /* must be a single id from persistent identifier concept */
     FOREIGN KEY (iid) REFERENCES mdb_identifiers (id),
     FOREIGN KEY (created_by) REFERENCES mdb_users (UserID)
@@ -506,7 +367,7 @@ CREATE TABLE IF NOT EXISTS mdb_related_identifiers
 
 CREATE TABLE IF NOT EXISTS mdb_creators
 (
-    id            bigint                DEFAULT nextval(mdb_creators_seq),
+    id            bigint       NOT NULL AUTO_INCREMENT,
     pid           bigint       NOT NULL,
     name          VARCHAR(255) NOT NULL,
     affiliation   VARCHAR(255),
diff --git a/fda-metadata-db/setup-user.sh b/fda-metadata-db/setup-user.sh
deleted file mode 100644
index 724f28f273..0000000000
--- a/fda-metadata-db/setup-user.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-mysql --user="root" --password="${METADATA_PASSWORD}" --database="${METADATA_DB}" << EOF
-CREATE USER '${MARIADB_USERNAME}' IDENTIFIED BY '${MARIADB_PASSWORD}';
-GRANT SELECT ON ${METADATA_DB}.* TO '${MARIADB_USERNAME}';
-FLUSH PRIVILEGES;
-EOF
\ No newline at end of file
-- 
GitLab