from django.db import connection from loguru import logger def fix_20250208(): logger.warning("Fixing soft-deleted editions...") with connection.cursor() as cursor: cursor.execute(""" UPDATE catalog_item SET is_deleted = true WHERE id NOT IN ( SELECT item_ptr_id FROM catalog_edition ) AND polymorphic_ctype_id = (SELECT id FROM django_content_type WHERE app_label='catalog' AND model='edition'); INSERT INTO catalog_edition (item_ptr_id) SELECT id FROM catalog_item WHERE id NOT IN ( SELECT item_ptr_id FROM catalog_edition ) AND polymorphic_ctype_id = (SELECT id FROM django_content_type WHERE app_label='catalog' AND model='edition'); """) logger.warning("Fix complete.")