# Generated by Django 5.2.6 on 2025-12-01 21:29

from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Competition',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=200)),
                ('short_name', models.CharField(blank=True, max_length=50)),
                ('logo', models.CharField(blank=True, max_length=100, null=True)),
                ('type', models.CharField(choices=[('league', 'League'), ('cup', 'Cup'), ('friendly', 'Friendly'), ('playoff', 'Playoff')], default='league', max_length=20)),
                ('season_start', models.DateField(blank=True, null=True)),
                ('season_end', models.DateField(blank=True, null=True)),
                ('description', models.TextField(blank=True)),
                ('created_at', models.DateTimeField()),
                ('updated_at', models.DateTimeField()),
            ],
            options={
                'db_table': 'sports_competition',
                'ordering': ['-season_start', 'name'],
                'managed': False,
            },
        ),
        migrations.CreateModel(
            name='Division',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=100, unique=True)),
                ('type', models.CharField(choices=[('professional', 'Professional'), ('subdivision', 'Subdivision'), ('other', 'Other')], default='subdivision', max_length=20)),
                ('gender', models.CharField(choices=[('male', 'Male'), ('female', 'Female'), ('mixed', 'Mixed')], default='male', max_length=10)),
                ('description', models.TextField(blank=True)),
                ('created_at', models.DateTimeField()),
                ('updated_at', models.DateTimeField()),
            ],
            options={
                'db_table': 'sports_division',
                'ordering': ['name'],
                'managed': False,
            },
        ),
        migrations.CreateModel(
            name='Event',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=100, unique=True)),
                ('description', models.TextField(blank=True)),
                ('created_at', models.DateTimeField()),
                ('updated_at', models.DateTimeField()),
            ],
            options={
                'db_table': 'sports_event',
                'ordering': ['name'],
                'managed': False,
            },
        ),
        migrations.CreateModel(
            name='Match',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=200)),
                ('date', models.DateTimeField()),
                ('location', models.CharField(blank=True, max_length=200)),
                ('home_score', models.IntegerField(blank=True, null=True)),
                ('away_score', models.IntegerField(blank=True, null=True)),
                ('attendance', models.IntegerField(blank=True, null=True)),
                ('created_at', models.DateTimeField()),
                ('updated_at', models.DateTimeField()),
            ],
            options={
                'db_table': 'sports_match',
                'ordering': ['-date'],
                'managed': False,
            },
        ),
        migrations.CreateModel(
            name='MatchLineup',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('is_starter', models.BooleanField(default=True)),
                ('in_at', models.TimeField(blank=True, null=True)),
                ('out_at', models.TimeField(blank=True, null=True)),
                ('is_finisher', models.BooleanField(blank=True, null=True)),
                ('created_at', models.DateTimeField()),
                ('updated_at', models.DateTimeField()),
            ],
            options={
                'db_table': 'sports_matchlineup',
                'ordering': ['team_division_player__team_division', '-is_starter', 'team_division_player__jersey_number'],
                'managed': False,
            },
        ),
        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)),
                ('birthdate', models.DateField(blank=True, null=True)),
                ('photo', models.CharField(blank=True, max_length=100, null=True)),
                ('height', models.DecimalField(blank=True, decimal_places=2, max_digits=5, null=True)),
                ('weight', models.DecimalField(blank=True, decimal_places=2, max_digits=5, null=True)),
                ('preferred_foot', models.CharField(blank=True, max_length=10, null=True)),
                ('status', models.CharField(choices=[('active', 'Active'), ('injured', 'Injured'), ('suspended', 'Suspended'), ('inactive', 'Inactive')], default='active', max_length=20)),
                ('created_at', models.DateTimeField()),
                ('updated_at', models.DateTimeField()),
            ],
            options={
                'db_table': 'sports_player',
                'ordering': ['name'],
                'managed': False,
            },
        ),
        migrations.CreateModel(
            name='PlayerRole',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=50, unique=True)),
                ('short_name', models.CharField(max_length=10, unique=True)),
                ('category', models.CharField(choices=[('goalkeeper', 'Goalkeeper'), ('defender', 'Defender'), ('midfielder', 'Midfielder'), ('forward', 'Forward')], max_length=20)),
                ('description', models.TextField(blank=True)),
                ('created_at', models.DateTimeField()),
                ('updated_at', models.DateTimeField()),
            ],
            options={
                'db_table': 'sports_playerrole',
                'ordering': ['category', 'name'],
                'managed': False,
            },
        ),
        migrations.CreateModel(
            name='Region',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=200)),
                ('type', models.CharField(choices=[('WORLDWIDE', 'Worldwide'), ('CONTINENTAL', 'Continental'), ('SUB_CONTINENTAL', 'Sub-Continental'), ('COUNTRY', 'Country'), ('CITY', 'City')], max_length=20)),
                ('iso_code', models.CharField(blank=True, max_length=10)),
                ('description', models.TextField(blank=True)),
                ('flag', models.CharField(blank=True, max_length=100, null=True)),
                ('status', models.CharField(choices=[('ACTIVE', 'Active'), ('INACTIVE', 'Inactive'), ('DELETED', 'Deleted')], default='ACTIVE', max_length=10)),
                ('created_at', models.DateTimeField()),
                ('updated_at', models.DateTimeField()),
            ],
            options={
                'db_table': 'sports_region',
                'ordering': ['type', 'name'],
                'managed': False,
            },
        ),
        migrations.CreateModel(
            name='Subevent',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=100)),
                ('description', models.TextField(blank=True)),
                ('created_at', models.DateTimeField()),
                ('updated_at', models.DateTimeField()),
            ],
            options={
                'db_table': 'sports_subevent',
                'ordering': ['event', 'name'],
                'managed': False,
            },
        ),
        migrations.CreateModel(
            name='Tag',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=100, unique=True)),
                ('description', models.TextField(blank=True)),
                ('created_at', models.DateTimeField()),
                ('updated_at', models.DateTimeField()),
            ],
            options={
                'db_table': 'sports_tag',
                'ordering': ['name'],
                'managed': False,
            },
        ),
        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)),
                ('code', models.CharField(max_length=10, unique=True)),
                ('logo', models.CharField(blank=True, max_length=100, null=True)),
                ('created_at', models.DateTimeField()),
                ('updated_at', models.DateTimeField()),
            ],
            options={
                'db_table': 'sports_team',
                'ordering': ['name'],
                'managed': False,
            },
        ),
        migrations.CreateModel(
            name='TeamDivision',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('is_active', models.BooleanField(default=True)),
                ('start_date', models.DateField(blank=True, null=True)),
                ('end_date', models.DateField(blank=True, null=True)),
                ('created_at', models.DateTimeField()),
                ('updated_at', models.DateTimeField()),
            ],
            options={
                'db_table': 'sports_teamdivision',
                'ordering': ['team', '-is_active', 'division'],
                'managed': False,
            },
        ),
        migrations.CreateModel(
            name='TeamDivisionPlayer',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('jersey_number', models.PositiveIntegerField(blank=True, null=True)),
                ('state', models.CharField(choices=[('active', 'Active'), ('loaned', 'Loaned'), ('transferred', 'Transferred'), ('released', 'Released'), ('retired', 'Retired')], default='active', max_length=20)),
                ('start_date', models.DateField(blank=True, null=True)),
                ('end_date', models.DateField(blank=True, null=True)),
                ('market_value', models.DecimalField(blank=True, decimal_places=2, max_digits=12, null=True)),
                ('notes', models.TextField(blank=True)),
                ('created_at', models.DateTimeField()),
                ('updated_at', models.DateTimeField()),
            ],
            options={
                'db_table': 'sports_teamdivisionplayer',
                'ordering': ['team_division', 'jersey_number'],
                'managed': False,
            },
        ),
    ]
