lib.itmens/catalog/common/migrations.py
2025-02-09 05:20:22 +00:00

16 lines
777 B
Python

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