from django.db import migrations


REMOVED_PRODUCT_COLUMNS = ("raf", "carton", "pack")


def drop_stale_product_columns(apps, schema_editor):
    table_name = "shop_management_product"
    existing_columns = {
        column.name
        for column in schema_editor.connection.introspection.get_table_description(
            schema_editor.connection.cursor(),
            table_name,
        )
    }

    for column_name in REMOVED_PRODUCT_COLUMNS:
        if column_name in existing_columns:
            schema_editor.execute(
                schema_editor.sql_delete_column
                % {
                    "table": schema_editor.quote_name(table_name),
                    "column": schema_editor.quote_name(column_name),
                }
            )


class Migration(migrations.Migration):
    dependencies = [
        ("shop_management", "0046_merge_20260506_1535"),
    ]

    operations = [
        migrations.RunPython(drop_stale_product_columns, migrations.RunPython.noop),
    ]
