lib.itmens/catalog/common/migrations.py

17 lines
777 B
Python
Raw Normal View History

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.")