from django.db import migrations


def backfill(apps, schema_editor):
    ProjectFund = apps.get_model("projects", "ProjectFund")
    for i, fund in enumerate(
        ProjectFund.objects.filter(fund_number__isnull=True).order_by("created_at", "id"), start=1
    ):
        fund.fund_number = i
        fund.save(update_fields=["fund_number"])


def reverse(apps, schema_editor):
    ProjectFund = apps.get_model("projects", "ProjectFund")
    ProjectFund.objects.update(fund_number=None)


class Migration(migrations.Migration):
    dependencies = [("projects", "0028_projectfund_fund_number")]
    operations = [migrations.RunPython(backfill, reverse)]
