# Generated by Django 5.1.6 on 2025-12-26 14:10

import django.contrib.postgres.fields
import django.db.models.deletion
from django.db import migrations, models

import apps.core.choices.fields


class Migration(migrations.Migration):

    dependencies = [
        ("pghistory", "0006_delete_aggregateevent"),
        ("rides", "0026_convert_unique_together_to_constraints"),
    ]

    operations = [
        migrations.AlterModelOptions(
            name="company",
            options={
                "ordering": ["name"],
                "verbose_name": "Company",
                "verbose_name_plural": "Companies",
            },
        ),
        migrations.AlterModelOptions(
            name="rankingsnapshot",
            options={
                "ordering": ["-snapshot_date", "rank"],
                "verbose_name": "Ranking Snapshot",
                "verbose_name_plural": "Ranking Snapshots",
            },
        ),
        migrations.AlterModelOptions(
            name="ride",
            options={
                "ordering": ["name"],
                "verbose_name": "Ride",
                "verbose_name_plural": "Rides",
            },
        ),
        migrations.AlterModelOptions(
            name="ridemodel",
            options={
                "ordering": ["manufacturer__name", "name"],
                "verbose_name": "Ride Model",
                "verbose_name_plural": "Ride Models",
            },
        ),
        migrations.AlterModelOptions(
            name="ridemodelphoto",
            options={
                "ordering": ["-is_primary", "-created_at"],
                "verbose_name": "Ride Model Photo",
                "verbose_name_plural": "Ride Model Photos",
            },
        ),
        migrations.AlterModelOptions(
            name="ridemodeltechnicalspec",
            options={
                "ordering": ["spec_category", "spec_name"],
                "verbose_name": "Ride Model Technical Specification",
                "verbose_name_plural": "Ride Model Technical Specifications",
            },
        ),
        migrations.AlterModelOptions(
            name="ridemodelvariant",
            options={
                "ordering": ["ride_model", "name"],
                "verbose_name": "Ride Model Variant",
                "verbose_name_plural": "Ride Model Variants",
            },
        ),
        migrations.AlterModelOptions(
            name="ridepaircomparison",
            options={
                "ordering": ["ride_a", "ride_b"],
                "verbose_name": "Ride Pair Comparison",
                "verbose_name_plural": "Ride Pair Comparisons",
            },
        ),
        migrations.AlterModelOptions(
            name="rideranking",
            options={
                "ordering": ["rank"],
                "verbose_name": "Ride Ranking",
                "verbose_name_plural": "Ride Rankings",
            },
        ),
        migrations.AlterModelOptions(
            name="rollercoasterstats",
            options={
                "ordering": ["ride"],
                "verbose_name": "Roller Coaster Statistics",
                "verbose_name_plural": "Roller Coaster Statistics",
            },
        ),
        migrations.AlterField(
            model_name="company",
            name="coasters_count",
            field=models.IntegerField(default=0, help_text="Number of coasters manufactured (auto-calculated)"),
        ),
        migrations.AlterField(
            model_name="company",
            name="description",
            field=models.TextField(blank=True, help_text="Detailed company description"),
        ),
        migrations.AlterField(
            model_name="company",
            name="founded_date",
            field=models.DateField(blank=True, help_text="Date the company was founded", null=True),
        ),
        migrations.AlterField(
            model_name="company",
            name="name",
            field=models.CharField(help_text="Company name", max_length=255),
        ),
        migrations.AlterField(
            model_name="company",
            name="rides_count",
            field=models.IntegerField(default=0, help_text="Number of rides manufactured (auto-calculated)"),
        ),
        migrations.AlterField(
            model_name="company",
            name="roles",
            field=django.contrib.postgres.fields.ArrayField(
                base_field=apps.core.choices.fields.RichChoiceField(
                    allow_deprecated=False,
                    choice_group="company_roles",
                    choices=[
                        ("MANUFACTURER", "Ride Manufacturer"),
                        ("DESIGNER", "Ride Designer"),
                    ],
                    domain="rides",
                    max_length=20,
                ),
                blank=True,
                default=list,
                help_text="Company roles (manufacturer, designer, etc.)",
                size=None,
            ),
        ),
        migrations.AlterField(
            model_name="company",
            name="slug",
            field=models.SlugField(help_text="URL-friendly identifier", max_length=255, unique=True),
        ),
        migrations.AlterField(
            model_name="company",
            name="website",
            field=models.URLField(blank=True, help_text="Company website URL"),
        ),
        migrations.AlterField(
            model_name="companyevent",
            name="coasters_count",
            field=models.IntegerField(default=0, help_text="Number of coasters manufactured (auto-calculated)"),
        ),
        migrations.AlterField(
            model_name="companyevent",
            name="description",
            field=models.TextField(blank=True, help_text="Detailed company description"),
        ),
        migrations.AlterField(
            model_name="companyevent",
            name="founded_date",
            field=models.DateField(blank=True, help_text="Date the company was founded", null=True),
        ),
        migrations.AlterField(
            model_name="companyevent",
            name="name",
            field=models.CharField(help_text="Company name", max_length=255),
        ),
        migrations.AlterField(
            model_name="companyevent",
            name="pgh_context",
            field=models.ForeignKey(
                db_constraint=False,
                null=True,
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                to="pghistory.context",
            ),
        ),
        migrations.AlterField(
            model_name="companyevent",
            name="pgh_obj",
            field=models.ForeignKey(
                db_constraint=False,
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="events",
                to="rides.company",
            ),
        ),
        migrations.AlterField(
            model_name="companyevent",
            name="rides_count",
            field=models.IntegerField(default=0, help_text="Number of rides manufactured (auto-calculated)"),
        ),
        migrations.AlterField(
            model_name="companyevent",
            name="roles",
            field=django.contrib.postgres.fields.ArrayField(
                base_field=apps.core.choices.fields.RichChoiceField(
                    allow_deprecated=False,
                    choice_group="company_roles",
                    choices=[
                        ("MANUFACTURER", "Ride Manufacturer"),
                        ("DESIGNER", "Ride Designer"),
                    ],
                    domain="rides",
                    max_length=20,
                ),
                blank=True,
                default=list,
                help_text="Company roles (manufacturer, designer, etc.)",
                size=None,
            ),
        ),
        migrations.AlterField(
            model_name="companyevent",
            name="slug",
            field=models.SlugField(db_index=False, help_text="URL-friendly identifier", max_length=255),
        ),
        migrations.AlterField(
            model_name="companyevent",
            name="website",
            field=models.URLField(blank=True, help_text="Company website URL"),
        ),
        migrations.AlterField(
            model_name="rideevent",
            name="pgh_context",
            field=models.ForeignKey(
                db_constraint=False,
                null=True,
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                to="pghistory.context",
            ),
        ),
        migrations.AlterField(
            model_name="rideevent",
            name="pgh_obj",
            field=models.ForeignKey(
                db_constraint=False,
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="events",
                to="rides.ride",
            ),
        ),
        migrations.AlterField(
            model_name="ridelocationevent",
            name="pgh_context",
            field=models.ForeignKey(
                db_constraint=False,
                null=True,
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                to="pghistory.context",
            ),
        ),
        migrations.AlterField(
            model_name="ridelocationevent",
            name="pgh_obj",
            field=models.ForeignKey(
                db_constraint=False,
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="events",
                to="rides.ridelocation",
            ),
        ),
        migrations.AlterField(
            model_name="ridemodelevent",
            name="pgh_context",
            field=models.ForeignKey(
                db_constraint=False,
                null=True,
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                to="pghistory.context",
            ),
        ),
        migrations.AlterField(
            model_name="ridemodelevent",
            name="pgh_obj",
            field=models.ForeignKey(
                db_constraint=False,
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="events",
                to="rides.ridemodel",
            ),
        ),
        migrations.AlterField(
            model_name="ridemodelphoto",
            name="alt_text",
            field=models.CharField(
                blank=True,
                help_text="Alternative text for accessibility",
                max_length=255,
            ),
        ),
        migrations.AlterField(
            model_name="ridemodelphoto",
            name="caption",
            field=models.CharField(blank=True, help_text="Photo caption or description", max_length=500),
        ),
        migrations.AlterField(
            model_name="ridemodelphoto",
            name="copyright_info",
            field=models.CharField(blank=True, help_text="Copyright information", max_length=255),
        ),
        migrations.AlterField(
            model_name="ridemodelphoto",
            name="photographer",
            field=models.CharField(blank=True, help_text="Name of the photographer", max_length=255),
        ),
        migrations.AlterField(
            model_name="ridemodelphoto",
            name="ride_model",
            field=models.ForeignKey(
                help_text="Ride model this photo belongs to",
                on_delete=django.db.models.deletion.CASCADE,
                related_name="photos",
                to="rides.ridemodel",
            ),
        ),
        migrations.AlterField(
            model_name="ridemodelphoto",
            name="source",
            field=models.CharField(blank=True, help_text="Source of the photo", max_length=255),
        ),
        migrations.AlterField(
            model_name="ridemodelphotoevent",
            name="alt_text",
            field=models.CharField(
                blank=True,
                help_text="Alternative text for accessibility",
                max_length=255,
            ),
        ),
        migrations.AlterField(
            model_name="ridemodelphotoevent",
            name="caption",
            field=models.CharField(blank=True, help_text="Photo caption or description", max_length=500),
        ),
        migrations.AlterField(
            model_name="ridemodelphotoevent",
            name="copyright_info",
            field=models.CharField(blank=True, help_text="Copyright information", max_length=255),
        ),
        migrations.AlterField(
            model_name="ridemodelphotoevent",
            name="pgh_context",
            field=models.ForeignKey(
                db_constraint=False,
                null=True,
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                to="pghistory.context",
            ),
        ),
        migrations.AlterField(
            model_name="ridemodelphotoevent",
            name="pgh_obj",
            field=models.ForeignKey(
                db_constraint=False,
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="events",
                to="rides.ridemodelphoto",
            ),
        ),
        migrations.AlterField(
            model_name="ridemodelphotoevent",
            name="photographer",
            field=models.CharField(blank=True, help_text="Name of the photographer", max_length=255),
        ),
        migrations.AlterField(
            model_name="ridemodelphotoevent",
            name="ride_model",
            field=models.ForeignKey(
                db_constraint=False,
                help_text="Ride model this photo belongs to",
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                related_query_name="+",
                to="rides.ridemodel",
            ),
        ),
        migrations.AlterField(
            model_name="ridemodelphotoevent",
            name="source",
            field=models.CharField(blank=True, help_text="Source of the photo", max_length=255),
        ),
        migrations.AlterField(
            model_name="ridemodeltechnicalspec",
            name="ride_model",
            field=models.ForeignKey(
                help_text="Ride model this specification belongs to",
                on_delete=django.db.models.deletion.CASCADE,
                related_name="technical_specs",
                to="rides.ridemodel",
            ),
        ),
        migrations.AlterField(
            model_name="ridemodeltechnicalspecevent",
            name="pgh_context",
            field=models.ForeignKey(
                db_constraint=False,
                null=True,
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                to="pghistory.context",
            ),
        ),
        migrations.AlterField(
            model_name="ridemodeltechnicalspecevent",
            name="pgh_obj",
            field=models.ForeignKey(
                db_constraint=False,
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="events",
                to="rides.ridemodeltechnicalspec",
            ),
        ),
        migrations.AlterField(
            model_name="ridemodeltechnicalspecevent",
            name="ride_model",
            field=models.ForeignKey(
                db_constraint=False,
                help_text="Ride model this specification belongs to",
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                related_query_name="+",
                to="rides.ridemodel",
            ),
        ),
        migrations.AlterField(
            model_name="ridemodelvariant",
            name="max_height_ft",
            field=models.DecimalField(
                blank=True,
                decimal_places=2,
                help_text="Maximum height for this variant",
                max_digits=6,
                null=True,
            ),
        ),
        migrations.AlterField(
            model_name="ridemodelvariant",
            name="max_speed_mph",
            field=models.DecimalField(
                blank=True,
                decimal_places=2,
                help_text="Maximum speed for this variant",
                max_digits=5,
                null=True,
            ),
        ),
        migrations.AlterField(
            model_name="ridemodelvariant",
            name="min_height_ft",
            field=models.DecimalField(
                blank=True,
                decimal_places=2,
                help_text="Minimum height for this variant",
                max_digits=6,
                null=True,
            ),
        ),
        migrations.AlterField(
            model_name="ridemodelvariant",
            name="min_speed_mph",
            field=models.DecimalField(
                blank=True,
                decimal_places=2,
                help_text="Minimum speed for this variant",
                max_digits=5,
                null=True,
            ),
        ),
        migrations.AlterField(
            model_name="ridemodelvariant",
            name="ride_model",
            field=models.ForeignKey(
                help_text="Base ride model this variant belongs to",
                on_delete=django.db.models.deletion.CASCADE,
                related_name="variants",
                to="rides.ridemodel",
            ),
        ),
        migrations.AlterField(
            model_name="ridemodelvariantevent",
            name="max_height_ft",
            field=models.DecimalField(
                blank=True,
                decimal_places=2,
                help_text="Maximum height for this variant",
                max_digits=6,
                null=True,
            ),
        ),
        migrations.AlterField(
            model_name="ridemodelvariantevent",
            name="max_speed_mph",
            field=models.DecimalField(
                blank=True,
                decimal_places=2,
                help_text="Maximum speed for this variant",
                max_digits=5,
                null=True,
            ),
        ),
        migrations.AlterField(
            model_name="ridemodelvariantevent",
            name="min_height_ft",
            field=models.DecimalField(
                blank=True,
                decimal_places=2,
                help_text="Minimum height for this variant",
                max_digits=6,
                null=True,
            ),
        ),
        migrations.AlterField(
            model_name="ridemodelvariantevent",
            name="min_speed_mph",
            field=models.DecimalField(
                blank=True,
                decimal_places=2,
                help_text="Minimum speed for this variant",
                max_digits=5,
                null=True,
            ),
        ),
        migrations.AlterField(
            model_name="ridemodelvariantevent",
            name="pgh_context",
            field=models.ForeignKey(
                db_constraint=False,
                null=True,
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                to="pghistory.context",
            ),
        ),
        migrations.AlterField(
            model_name="ridemodelvariantevent",
            name="pgh_obj",
            field=models.ForeignKey(
                db_constraint=False,
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="events",
                to="rides.ridemodelvariant",
            ),
        ),
        migrations.AlterField(
            model_name="ridemodelvariantevent",
            name="ride_model",
            field=models.ForeignKey(
                db_constraint=False,
                help_text="Base ride model this variant belongs to",
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                related_query_name="+",
                to="rides.ridemodel",
            ),
        ),
        migrations.AlterField(
            model_name="ridepaircomparisonevent",
            name="pgh_context",
            field=models.ForeignKey(
                db_constraint=False,
                null=True,
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                to="pghistory.context",
            ),
        ),
        migrations.AlterField(
            model_name="ridepaircomparisonevent",
            name="pgh_obj",
            field=models.ForeignKey(
                db_constraint=False,
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="events",
                to="rides.ridepaircomparison",
            ),
        ),
        migrations.AlterField(
            model_name="ridephotoevent",
            name="pgh_context",
            field=models.ForeignKey(
                db_constraint=False,
                null=True,
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                to="pghistory.context",
            ),
        ),
        migrations.AlterField(
            model_name="ridephotoevent",
            name="pgh_obj",
            field=models.ForeignKey(
                db_constraint=False,
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="events",
                to="rides.ridephoto",
            ),
        ),
        migrations.AlterField(
            model_name="rideranking",
            name="ride",
            field=models.OneToOneField(
                help_text="Ride this ranking entry describes",
                on_delete=django.db.models.deletion.CASCADE,
                related_name="ranking",
                to="rides.ride",
            ),
        ),
        migrations.AlterField(
            model_name="riderankingevent",
            name="pgh_context",
            field=models.ForeignKey(
                db_constraint=False,
                null=True,
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                to="pghistory.context",
            ),
        ),
        migrations.AlterField(
            model_name="riderankingevent",
            name="pgh_obj",
            field=models.ForeignKey(
                db_constraint=False,
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="events",
                to="rides.rideranking",
            ),
        ),
        migrations.AlterField(
            model_name="riderankingevent",
            name="ride",
            field=models.ForeignKey(
                db_constraint=False,
                help_text="Ride this ranking entry describes",
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                related_query_name="+",
                to="rides.ride",
            ),
        ),
        migrations.AlterField(
            model_name="ridereviewevent",
            name="pgh_context",
            field=models.ForeignKey(
                db_constraint=False,
                null=True,
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                to="pghistory.context",
            ),
        ),
        migrations.AlterField(
            model_name="ridereviewevent",
            name="pgh_obj",
            field=models.ForeignKey(
                db_constraint=False,
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="events",
                to="rides.ridereview",
            ),
        ),
        migrations.AlterField(
            model_name="rollercoasterstats",
            name="cars_per_train",
            field=models.PositiveIntegerField(blank=True, help_text="Number of cars per train", null=True),
        ),
        migrations.AlterField(
            model_name="rollercoasterstats",
            name="height_ft",
            field=models.DecimalField(
                blank=True,
                decimal_places=2,
                help_text="Maximum height in feet",
                max_digits=6,
                null=True,
            ),
        ),
        migrations.AlterField(
            model_name="rollercoasterstats",
            name="inversions",
            field=models.PositiveIntegerField(default=0, help_text="Number of inversions"),
        ),
        migrations.AlterField(
            model_name="rollercoasterstats",
            name="length_ft",
            field=models.DecimalField(
                blank=True,
                decimal_places=2,
                help_text="Track length in feet",
                max_digits=7,
                null=True,
            ),
        ),
        migrations.AlterField(
            model_name="rollercoasterstats",
            name="max_drop_height_ft",
            field=models.DecimalField(
                blank=True,
                decimal_places=2,
                help_text="Maximum drop height in feet",
                max_digits=6,
                null=True,
            ),
        ),
        migrations.AlterField(
            model_name="rollercoasterstats",
            name="ride",
            field=models.OneToOneField(
                help_text="Ride these statistics belong to",
                on_delete=django.db.models.deletion.CASCADE,
                related_name="coaster_stats",
                to="rides.ride",
            ),
        ),
        migrations.AlterField(
            model_name="rollercoasterstats",
            name="ride_time_seconds",
            field=models.PositiveIntegerField(blank=True, help_text="Duration of the ride in seconds", null=True),
        ),
        migrations.AlterField(
            model_name="rollercoasterstats",
            name="seats_per_car",
            field=models.PositiveIntegerField(blank=True, help_text="Number of seats per car", null=True),
        ),
        migrations.AlterField(
            model_name="rollercoasterstats",
            name="speed_mph",
            field=models.DecimalField(
                blank=True,
                decimal_places=2,
                help_text="Maximum speed in mph",
                max_digits=5,
                null=True,
            ),
        ),
        migrations.AlterField(
            model_name="rollercoasterstats",
            name="track_type",
            field=models.CharField(
                blank=True,
                help_text="Type of track (e.g., tubular steel, wooden)",
                max_length=255,
            ),
        ),
        migrations.AlterField(
            model_name="rollercoasterstats",
            name="train_style",
            field=models.CharField(
                blank=True,
                help_text="Style of train (e.g., floorless, inverted)",
                max_length=255,
            ),
        ),
        migrations.AlterField(
            model_name="rollercoasterstats",
            name="trains_count",
            field=models.PositiveIntegerField(blank=True, help_text="Number of trains", null=True),
        ),
        migrations.AlterField(
            model_name="rollercoasterstatsevent",
            name="cars_per_train",
            field=models.PositiveIntegerField(blank=True, help_text="Number of cars per train", null=True),
        ),
        migrations.AlterField(
            model_name="rollercoasterstatsevent",
            name="height_ft",
            field=models.DecimalField(
                blank=True,
                decimal_places=2,
                help_text="Maximum height in feet",
                max_digits=6,
                null=True,
            ),
        ),
        migrations.AlterField(
            model_name="rollercoasterstatsevent",
            name="inversions",
            field=models.PositiveIntegerField(default=0, help_text="Number of inversions"),
        ),
        migrations.AlterField(
            model_name="rollercoasterstatsevent",
            name="length_ft",
            field=models.DecimalField(
                blank=True,
                decimal_places=2,
                help_text="Track length in feet",
                max_digits=7,
                null=True,
            ),
        ),
        migrations.AlterField(
            model_name="rollercoasterstatsevent",
            name="max_drop_height_ft",
            field=models.DecimalField(
                blank=True,
                decimal_places=2,
                help_text="Maximum drop height in feet",
                max_digits=6,
                null=True,
            ),
        ),
        migrations.AlterField(
            model_name="rollercoasterstatsevent",
            name="pgh_context",
            field=models.ForeignKey(
                db_constraint=False,
                null=True,
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                to="pghistory.context",
            ),
        ),
        migrations.AlterField(
            model_name="rollercoasterstatsevent",
            name="pgh_obj",
            field=models.ForeignKey(
                db_constraint=False,
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="events",
                to="rides.rollercoasterstats",
            ),
        ),
        migrations.AlterField(
            model_name="rollercoasterstatsevent",
            name="ride",
            field=models.ForeignKey(
                db_constraint=False,
                help_text="Ride these statistics belong to",
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                related_query_name="+",
                to="rides.ride",
            ),
        ),
        migrations.AlterField(
            model_name="rollercoasterstatsevent",
            name="ride_time_seconds",
            field=models.PositiveIntegerField(blank=True, help_text="Duration of the ride in seconds", null=True),
        ),
        migrations.AlterField(
            model_name="rollercoasterstatsevent",
            name="seats_per_car",
            field=models.PositiveIntegerField(blank=True, help_text="Number of seats per car", null=True),
        ),
        migrations.AlterField(
            model_name="rollercoasterstatsevent",
            name="speed_mph",
            field=models.DecimalField(
                blank=True,
                decimal_places=2,
                help_text="Maximum speed in mph",
                max_digits=5,
                null=True,
            ),
        ),
        migrations.AlterField(
            model_name="rollercoasterstatsevent",
            name="track_type",
            field=models.CharField(
                blank=True,
                help_text="Type of track (e.g., tubular steel, wooden)",
                max_length=255,
            ),
        ),
        migrations.AlterField(
            model_name="rollercoasterstatsevent",
            name="train_style",
            field=models.CharField(
                blank=True,
                help_text="Style of train (e.g., floorless, inverted)",
                max_length=255,
            ),
        ),
        migrations.AlterField(
            model_name="rollercoasterstatsevent",
            name="trains_count",
            field=models.PositiveIntegerField(blank=True, help_text="Number of trains", null=True),
        ),
    ]
