"""
Convert RideModel unique_together to UniqueConstraint.

This migration converts the legacy unique_together constraints to the modern
UniqueConstraint syntax which provides better error messages and more flexibility.
"""

from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ("rides", "0025_convert_ride_status_to_fsm"),
    ]

    operations = [
        # Remove the old unique_together constraint
        migrations.AlterUniqueTogether(
            name="ridemodel",
            unique_together=set(),
        ),
        # Add new UniqueConstraints with better error messages
        migrations.AddConstraint(
            model_name="ridemodel",
            constraint=models.UniqueConstraint(
                fields=["manufacturer", "name"],
                name="ridemodel_manufacturer_name_unique",
                violation_error_message="A ride model with this name already exists for this manufacturer",
            ),
        ),
        migrations.AddConstraint(
            model_name="ridemodel",
            constraint=models.UniqueConstraint(
                fields=["manufacturer", "slug"],
                name="ridemodel_manufacturer_slug_unique",
                violation_error_message="A ride model with this slug already exists for this manufacturer",
            ),
        ),
    ]
