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

This commit is contained in:
Jyong 2024-04-11 17:43:22 +08:00 committed by GitHub
parent 1f302990c6
commit c889717d24
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -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: if documents is None or len(documents) == 0:
logging.info(click.style('No documents found for dataset: {}'.format(dataset_id), fg='green')) 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() for document in documents:
index_processor.clean(dataset, None) db.session.delete(document)
for document in documents: for segment in segments:
db.session.delete(document) 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(DatasetProcessRule).filter(DatasetProcessRule.dataset_id == dataset_id).delete()
db.session.query(DatasetQuery).filter(DatasetQuery.dataset_id == dataset_id).delete() db.session.query(DatasetQuery).filter(DatasetQuery.dataset_id == dataset_id).delete()