# Generated by Django 4.1.5 on 2023-11-06 17:25

from django.db import migrations, models


def rename_duplicates(apps, schema_editor):
    Edition = apps.get_model("games", "Edition")

    duplicates = (
        Edition.objects.values("name", "platform")
        .annotate(name_count=models.Count("id"))
        .filter(name_count__gt=1)
    )

    for duplicate in duplicates:
        counter = 1
        duplicate_editions = Edition.objects.filter(
            name=duplicate["name"], platform_id=duplicate["platform"]
        ).order_by("id")

        for edition in duplicate_editions[1:]:  # Skip the first one
            edition.name = f"{edition.name} {counter}"
            edition.save()
            counter += 1


class Migration(migrations.Migration):
    dependencies = [
        ("games", "0017_alter_device_type_alter_purchase_platform"),
    ]

    operations = [
        migrations.RunPython(rename_duplicates),
    ]
