Skip to content

Commit

Permalink
Merge pull request #974 from devinit/fix/frozen-datasource-delete
Browse files Browse the repository at this point in the history
Fix | Frozen Datasource Delete
  • Loading branch information
ThatcherK authored Aug 21, 2023
2 parents ca33092 + eeee22d commit 7f9819f
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions core/query.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from django.db import transaction
from core.pypika_utils import QueryBuilder
from data.db_manager import fetch_data, analyse_query, run_query
from core.models import FrozenData, OperationStep, Source, Operation, FrozenData
from core.models import FrozenData, OperationStep, Source, Operation, FrozenData, SourceColumnMap
from pypika import Table, Query
from pypika import functions as pypika_fn
from core.pypika_fts_utils import TableQueryBuilder
Expand Down Expand Up @@ -50,11 +50,15 @@ def delete_archive(id):
frozen_data = FrozenData.objects.get(pk=id)
table_name = frozen_data.frozen_db_table
# Delete from sources table and operation steps
frozen_source = Source.objects.filter(repo='archives', active_mirror_name=table_name)
frozen_source = Source.objects.filter(schema='archives', active_mirror_name=table_name)
operation_step_qs = OperationStep.objects.filter(source_id__in=frozen_source)
frozen_column_maps = SourceColumnMap.objects.filter(source_id__in=frozen_source)
operation = Operation.objects.filter(pk__in=operation_step_qs.values_list('operation_id', flat=True))
operation.delete()
operation_step_qs.delete()
#Delete frozen column maps before deleting frozen source
for column_map in frozen_column_maps:
column_map.delete()
frozen_source.delete()
frozen_data.delete()
query_builder = TableQueryBuilder(table_name, "archives")
Expand Down

0 comments on commit 7f9819f

Please sign in to comment.