# Generated by Django 5.2.8 on 2025-11-20 09:57

import django.db.models.deletion
from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name="Country",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("name", models.CharField(max_length=100, unique=True)),
                ("code", models.CharField(max_length=10, unique=True)),
                (
                    "league_name",
                    models.CharField(blank=True, max_length=100, null=True),
                ),
            ],
            options={
                "verbose_name_plural": "Countries",
                "ordering": ["name"],
            },
        ),
        migrations.CreateModel(
            name="Player",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("name", models.CharField(max_length=100, unique=True)),
                ("age", models.IntegerField(blank=True, null=True)),
                ("date_of_birth", models.DateField(blank=True, null=True)),
                ("height", models.IntegerField(blank=True, null=True)),
                ("nationality", models.CharField(blank=True, max_length=50, null=True)),
                ("positions", models.CharField(blank=True, max_length=100, null=True)),
                ("image_url", models.URLField(blank=True, null=True)),
            ],
            options={
                "ordering": ["name"],
            },
        ),
        migrations.CreateModel(
            name="Team",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("name", models.CharField(max_length=100, unique=True)),
                (
                    "country",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="teams",
                        to="api.country",
                    ),
                ),
            ],
            options={
                "ordering": ["name"],
            },
        ),
        migrations.CreateModel(
            name="PlayerStats",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("tournament", models.CharField(max_length=100)),
                ("appearances", models.CharField(blank=True, max_length=20, null=True)),
                ("minutes_played", models.IntegerField(blank=True, null=True)),
                ("goals", models.IntegerField(blank=True, null=True)),
                ("assists", models.IntegerField(blank=True, null=True)),
                ("tackles", models.FloatField(blank=True, null=True)),
                ("interceptions", models.FloatField(blank=True, null=True)),
                ("fouls_committed", models.FloatField(blank=True, null=True)),
                ("pass_success_rate", models.FloatField(blank=True, null=True)),
                ("shots_per_game", models.FloatField(blank=True, null=True)),
                ("dribbles_per_game", models.FloatField(blank=True, null=True)),
                ("rating", models.FloatField(blank=True, null=True)),
                (
                    "player",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="stats",
                        to="api.player",
                    ),
                ),
                (
                    "team",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="player_stats",
                        to="api.team",
                    ),
                ),
            ],
            options={
                "verbose_name_plural": "Player Stats",
                "ordering": ["player__name", "tournament"],
            },
        ),
        migrations.AddField(
            model_name="player",
            name="team",
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name="players",
                to="api.team",
            ),
        ),
        migrations.CreateModel(
            name="MatchResult",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("match_date", models.DateField()),
                ("home_goals", models.IntegerField(blank=True, null=True)),
                ("away_goals", models.IntegerField(blank=True, null=True)),
                ("result", models.CharField(blank=True, max_length=10, null=True)),
                (
                    "country",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="matches",
                        to="api.country",
                    ),
                ),
                (
                    "away_team",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="away_matches",
                        to="api.team",
                    ),
                ),
                (
                    "home_team",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="home_matches",
                        to="api.team",
                    ),
                ),
            ],
            options={
                "verbose_name_plural": "Match Results",
                "ordering": ["-match_date"],
            },
        ),
        migrations.CreateModel(
            name="LeagueStanding",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("position", models.IntegerField()),
                ("played", models.IntegerField()),
                ("won", models.IntegerField()),
                ("drawn", models.IntegerField()),
                ("lost", models.IntegerField()),
                ("goals_for", models.IntegerField()),
                ("goals_against", models.IntegerField()),
                ("goal_difference", models.IntegerField()),
                ("points", models.IntegerField()),
                ("recent_form", models.CharField(blank=True, max_length=20, null=True)),
                (
                    "country",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="standings",
                        to="api.country",
                    ),
                ),
                (
                    "team",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="standings",
                        to="api.team",
                    ),
                ),
            ],
            options={
                "verbose_name_plural": "League Standings",
                "ordering": ["position"],
            },
        ),
    ]
