From aef0b0f666a34adb8e95a23ac4eff0ac87a1e107 Mon Sep 17 00:00:00 2001
From: thomaswoehlke <thomas.woehlke@gmail.com>
Date: Wed, 26 May 2021 15:16:44 +0200
Subject: [PATCH] Refactoring: vaccination

---
 .../blueprints/data_rki/rki_service_update.py | 33 +++++++++++++++++--
 1 file changed, 31 insertions(+), 2 deletions(-)

diff --git a/src/flask_covid19/blueprints/data_rki/rki_service_update.py b/src/flask_covid19/blueprints/data_rki/rki_service_update.py
index 1e8900b8..ed3ce677 100644
--- a/src/flask_covid19/blueprints/data_rki/rki_service_update.py
+++ b/src/flask_covid19/blueprints/data_rki/rki_service_update.py
@@ -104,6 +104,10 @@ class RkiServiceUpdateFull(RkiServiceUpdateBase):
         app.logger.info("------------------------------------------------------------")
         return self
 
+    def __clean_bundesland(self):
+        RkiBundesland.remove_all()
+        return self
+
     def __full_update_bundesland(self):
         app.logger.info(" RkiServiceUpdateFull.__full_update_bundesland [begin]")
         app.logger.info("------------------------------------------------------------")
@@ -131,6 +135,11 @@ class RkiServiceUpdateFull(RkiServiceUpdateBase):
         app.logger.info("------------------------------------------------------------")
         return self
 
+    def __clean_landkreis(self):
+        RkiLandkreis.remove_all()
+        self.__clean_bundesland()
+        return self
+
     def __full_update_landkreis(self):
         RkiLandkreis.remove_all()
         self.__full_update_bundesland()
@@ -166,6 +175,10 @@ class RkiServiceUpdateFull(RkiServiceUpdateBase):
         app.logger.info("------------------------------------------------------------")
         return self
 
+    def __clean_data(self):
+        RkiData.remove_all()
+        return self
+
     def __full_update_data(self):
         app.logger.info(" RkiServiceUpdateFull.__full_update_data [begin]")
         app.logger.info("------------------------------------------------------------")
@@ -244,8 +257,18 @@ class RkiServiceUpdateFull(RkiServiceUpdateBase):
         app.logger.info("------------------------------------------------------------")
         return self
 
+    def __clean_dimension_tables(self):
+        RkiMeldedatum.remove_all()
+        RkiDatenstand.remove_all()
+        RkiRefDatum.remove_all()
+        RkiAltersgruppe.remove_all()
+        RkiLandkreis.remove_all()
+        RkiBundesland.remove_all()
+        return self
+
     def full_update_dimension_tables(self):
-        RkiData.remove_all()
+        self.__clean_fact_table()
+        self.__clean_dimension_tables()
         self.__full_update_date_reported()
         self.__full_update_date_datenstand()
         self.__full_update_date_ref_datum()
@@ -253,12 +276,18 @@ class RkiServiceUpdateFull(RkiServiceUpdateBase):
         self.__full_update_landkreis()
         return self
 
-    def full_update_fact_table(self):
+    def __clean_fact_table(self):
         RkiData.remove_all()
+        return self
+
+    def full_update_fact_table(self):
+        self.__clean_fact_table()
         self.__full_update_data()
         return self
 
     def full_update_star_schema(self):
+        self.__clean_fact_table()
+        self.__clean_dimension_tables()
         self.full_update_dimension_tables()
         self.full_update_fact_table()
         return self
-- 
GitLab