# Generated by Django 3.2.21 on 2023-11-02 15:31

from django.db import migrations
from django.db.models import F


def forward(apps, schema_editor):
    """
    Delete all the ViewFieldOptions where the field has been moved to another table.
    """

    CalendarViewFieldOptions = apps.get_model(
        "baserow_premium", "CalendarViewFieldOptions"
    )
    KanbanViewFieldOptions = apps.get_model("baserow_premium", "KanbanViewFieldOptions")

    for ViewFieldOptions, view_fk_field_name in (
        (KanbanViewFieldOptions, "kanban_view_id"),
        (CalendarViewFieldOptions, "calendar_view_id"),
    ):
        ViewFieldOptions.objects.exclude(
            **{f"{view_fk_field_name}__table_id": F("field__table_id")}
        ).delete()


class Migration(migrations.Migration):
    dependencies = [
        ("baserow_premium", "0014_add_unique_constraint_viewfieldoptions"),
    ]

    operations = [
        migrations.RunPython(forward, migrations.RunPython.noop),
    ]
