Pārlūkot izejas kodu

Fix issue : don't delete DatasetProcessRule, DatasetQuery and AppDatasetJoin when delete dataset with no document (#3354)

Jyong 1 gadu atpakaļ
vecāks
revīzija
c889717d24
1 mainītis faili ar 8 papildinājumiem un 8 dzēšanām
  1. 8 8
      api/tasks/clean_dataset_task.py

+ 8 - 8
api/tasks/clean_dataset_task.py

@@ -46,16 +46,16 @@ def clean_dataset_task(dataset_id: str, tenant_id: str, indexing_technique: str,
 
         if documents is None or len(documents) == 0:
             logging.info(click.style('No documents found for dataset: {}'.format(dataset_id), fg='green'))
-            return
+        else:
+            logging.info(click.style('Cleaning documents for dataset: {}'.format(dataset_id), fg='green'))
+            index_processor = IndexProcessorFactory(doc_form).init_index_processor()
+            index_processor.clean(dataset, None)
 
-        index_processor = IndexProcessorFactory(doc_form).init_index_processor()
-        index_processor.clean(dataset, None)
+            for document in documents:
+                db.session.delete(document)
 
-        for document in documents:
-            db.session.delete(document)
-
-        for segment in segments:
-            db.session.delete(segment)
+            for segment in segments:
+                db.session.delete(segment)
 
         db.session.query(DatasetProcessRule).filter(DatasetProcessRule.dataset_id == dataset_id).delete()
         db.session.query(DatasetQuery).filter(DatasetQuery.dataset_id == dataset_id).delete()