diff --git a/src/covid19/blueprints/common/common_model.py b/src/covid19/blueprints/common/common_model.py
index 46cb0fdd558a5720a86e18b655896ab8a9b94d30..2147f2bb8f3e38acf724f79d78f49bc2e28f09ec 100644
--- a/src/covid19/blueprints/common/common_model.py
+++ b/src/covid19/blueprints/common/common_model.py
@@ -9,12 +9,8 @@ class CommonDateReported(db.Model):
     __mapper_args__ = {
         'concrete': True
     }
-    __table_args__ = (
-        db.UniqueConstraint('type', 'date_reported', name='unique_common_date_reported'),
-    )
     #
     id = db.Column(db.Integer, primary_key=True)
-    date_reported = db.Column(db.String(255), nullable=False)
     year_week = db.Column(db.String(255), nullable=False)
     datum = db.Column(db.Date, nullable=False)
     year = db.Column(db.Integer, nullable=False)
diff --git a/src/covid19/blueprints/europe/europe_model.py b/src/covid19/blueprints/europe/europe_model.py
index 3a6b88e3047fe8edc0b7f955840fe99520ab43b6..65203568712be33922c752a21bab5f503049fe8f 100644
--- a/src/covid19/blueprints/europe/europe_model.py
+++ b/src/covid19/blueprints/europe/europe_model.py
@@ -8,6 +8,8 @@ class EuropeDateReported(CommonDateReported):
     __tablename__ = 'europe_date_reported'
 
     id = db.Column(db.Integer, primary_key=True)
+    date_reported = db.Column(db.String(255), nullable=False, unique=True)
+
     __mapper_args__ = {
         'concrete': True
     }
@@ -114,8 +116,12 @@ class EuropeData(db.Model):
     europe_country_id = db.Column(db.Integer, db.ForeignKey('europe_country.id'), nullable=False)
     europe_country = db.relationship('EuropeCountry', lazy='joined', cascade="all, delete")
 
-    europe_date_reported_id = db.Column(db.Integer, db.ForeignKey('common_date_reported.id'), nullable=False)
-    europe_date_reported = db.relationship('EuropeDateReported', lazy='joined', cascade="all, delete")
+    europe_date_reported_id = db.Column(db.Integer, db.ForeignKey('europe_date_reported.id'), nullable=False)
+    europe_date_reported = db.relationship(
+        'EuropeDateReported',
+        lazy='joined',
+        cascade='all, delete',
+        order_by='desc(EuropeDateReported.date_reported)')
 
     @classmethod
     def remove_all(cls):
diff --git a/src/covid19/blueprints/rki/rki_model.py b/src/covid19/blueprints/rki/rki_model.py
index 9cfd7bc21da0a6da9de0c6a6f553d00391adb9e8..14287b0bba6f359eacd3a5089f4df4df9406e291 100644
--- a/src/covid19/blueprints/rki/rki_model.py
+++ b/src/covid19/blueprints/rki/rki_model.py
@@ -10,6 +10,8 @@ class RkiDateReported(CommonDateReported):
     __tablename__ = 'rki_date_reported'
 
     id = db.Column(db.Integer, primary_key=True)
+    date_reported = db.Column(db.String(255), nullable=False, unique=True)
+
     __mapper_args__ = {
         'concrete': True
     }
@@ -116,9 +118,12 @@ class RkiBundeslaender(db.Model):
     deaths_new = db.Column(db.Integer, nullable=False)
     deaths_cumulative = db.Column(db.Integer, nullable=False)
     date_reported_id = db.Column(db.Integer,
-        db.ForeignKey('common_date_reported.id'), nullable=False)
+        db.ForeignKey('rki_date_reported.id'), nullable=False)
     date_reported = db.relationship(
-        'RkiDateReported', lazy='joined', order_by='desc(RkiDateReported.date_reported)')
+        'RkiDateReported',
+        lazy='joined',
+        cascade='all, delete',
+        order_by='desc(RkiDateReported.date_reported)')
     country_id = db.Column(db.Integer,
         db.ForeignKey('rki_country.id'), nullable=False)
     country = db.relationship(
diff --git a/src/covid19/blueprints/vaccination/vaccination_model.py b/src/covid19/blueprints/vaccination/vaccination_model.py
index 327dd8be622070d4334f43ed6f412ad01ca00049..db0d6c84fa6f573421db36d4249cc376877fe0e1 100644
--- a/src/covid19/blueprints/vaccination/vaccination_model.py
+++ b/src/covid19/blueprints/vaccination/vaccination_model.py
@@ -8,6 +8,8 @@ class VaccinationDateReported(CommonDateReported):
     __tablename__ = 'vaccination_date_reported'
 
     id = db.Column(db.Integer, primary_key=True)
+    date_reported = db.Column(db.String(255), nullable=False, unique=True)
+
     __mapper_args__ = {
         'concrete': True
     }
@@ -40,7 +42,7 @@ class VaccinationData(db.Model):
     __tablename__ = 'vaccination_data'
 
     id = db.Column(db.Integer, primary_key=True)
-    date_reported_id = db.Column(db.Integer, db.ForeignKey('common_date_reported.id'), nullable=False)
+    date_reported_id = db.Column(db.Integer, db.ForeignKey('vaccination_date_reported.id'), nullable=False)
     date_reported = db.relationship(
         'VaccinationDateReported',
         lazy='joined',
diff --git a/src/covid19/blueprints/vaccination/vaccination_model_import.py b/src/covid19/blueprints/vaccination/vaccination_model_import.py
index 0931f45f8e0f7ea64a81885500b5c4508695e372..e182af639944097c043523a0e3915125623177b2 100644
--- a/src/covid19/blueprints/vaccination/vaccination_model_import.py
+++ b/src/covid19/blueprints/vaccination/vaccination_model_import.py
@@ -48,7 +48,7 @@ class VaccinationImport(db.Model):
     @classmethod
     def get_all(cls):
         return db.session.query(cls)\
-            .order_by(cls.datum.desc())\
+            .order_by(cls.datum)\
             .all()
 
     @classmethod
@@ -71,9 +71,20 @@ class VaccinationImport(db.Model):
 
     @classmethod
     def get_date_rep(cls):
-        return db.session.query(cls)\
-            .options(defer('*'), undefer("datum")) \
+        return db.session.query(cls.datum)\
             .group_by(cls.datum)\
             .distinct()\
+            .order_by(cls.datum)\
             .all()
 
+    @classmethod
+    def get_date_reported_as_array(cls):
+        resultarray = []
+        resultlist = db.session.query(cls.datum)\
+            .group_by(cls.datum)\
+            .distinct()\
+            .order_by(cls.datum)\
+            .all()
+        for resultitem in resultlist:
+            resultarray.append(resultitem[0])
+        return resultarray
diff --git a/src/covid19/blueprints/vaccination/vaccination_service_update.py b/src/covid19/blueprints/vaccination/vaccination_service_update.py
index 1d6e772ca52ca4e19fcbb75beec13bc01c2e8047..d2d5b04882777ff6e649b752c0d019e895e85377 100644
--- a/src/covid19/blueprints/vaccination/vaccination_service_update.py
+++ b/src/covid19/blueprints/vaccination/vaccination_service_update.py
@@ -20,7 +20,7 @@ class VaccinationServiceUpdate:
     def __update_date_reported(self):
         app.logger.info(" __update_date_reported [begin]")
         app.logger.info("------------------------------------------------------------")
-        date_reported_list = VaccinationImport.get_date_rep()
+        date_reported_list = VaccinationImport.get_date_reported_as_array()
         i = 0
         for one_date_reported in date_reported_list:
             i += 1
diff --git a/src/covid19/blueprints/who/who_model.py b/src/covid19/blueprints/who/who_model.py
index 2ca87c73a8f5ed2a078fc617cc9c5ec6ab3fa43a..58c9c82c565609fbc93e122920571431c92954c7 100644
--- a/src/covid19/blueprints/who/who_model.py
+++ b/src/covid19/blueprints/who/who_model.py
@@ -9,6 +9,8 @@ class WhoDateReported(CommonDateReported):
     __tablename__ = 'who_date_reported'
 
     id = db.Column(db.Integer, primary_key=True)
+    date_reported = db.Column(db.String(255), nullable=False, unique=True)
+
     __mapper_args__ = {
         'concrete': True
     }
@@ -142,7 +144,7 @@ class WhoData(db.Model):
     deaths_new = db.Column(db.Integer, nullable=False)
     deaths_cumulative = db.Column(db.Integer, nullable=False)
     date_reported_id = db.Column(db.Integer,
-        db.ForeignKey('common_date_reported.id'), nullable=False)
+        db.ForeignKey('who_date_reported.id'), nullable=False)
     date_reported = db.relationship(
         'WhoDateReported',
         lazy='joined',