Adds the full Django application layer on top of sportstime_parser: - core: Sport, Team, Stadium, Game models with aliases and league structure - scraper: orchestration engine, adapter, job management, Celery tasks - cloudkit: CloudKit sync client, sync state tracking, sync jobs - dashboard: staff dashboard for monitoring scrapers, sync, review queue - notifications: email reports for scrape/sync results - Docker setup for deployment (Dockerfile, docker-compose, entrypoint) Game exports now use game_datetime_utc (ISO 8601 UTC) instead of venue-local date+time strings, matching the canonical format used by the iOS app. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
79 lines
2.7 KiB
Python
79 lines
2.7 KiB
Python
# Generated by Django 5.1.4 on 2026-02-06 02:21
|
|
|
|
from django.db import migrations, models
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
('cloudkit', '0004_cloudkitsyncjob_sport_progress'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.AddField(
|
|
model_name='cloudkitsyncjob',
|
|
name='conferences_failed',
|
|
field=models.PositiveIntegerField(default=0),
|
|
),
|
|
migrations.AddField(
|
|
model_name='cloudkitsyncjob',
|
|
name='conferences_synced',
|
|
field=models.PositiveIntegerField(default=0),
|
|
),
|
|
migrations.AddField(
|
|
model_name='cloudkitsyncjob',
|
|
name='conferences_total',
|
|
field=models.PositiveIntegerField(default=0),
|
|
),
|
|
migrations.AddField(
|
|
model_name='cloudkitsyncjob',
|
|
name='divisions_failed',
|
|
field=models.PositiveIntegerField(default=0),
|
|
),
|
|
migrations.AddField(
|
|
model_name='cloudkitsyncjob',
|
|
name='divisions_synced',
|
|
field=models.PositiveIntegerField(default=0),
|
|
),
|
|
migrations.AddField(
|
|
model_name='cloudkitsyncjob',
|
|
name='divisions_total',
|
|
field=models.PositiveIntegerField(default=0),
|
|
),
|
|
migrations.AddField(
|
|
model_name='cloudkitsyncjob',
|
|
name='stadium_aliases_failed',
|
|
field=models.PositiveIntegerField(default=0),
|
|
),
|
|
migrations.AddField(
|
|
model_name='cloudkitsyncjob',
|
|
name='stadium_aliases_synced',
|
|
field=models.PositiveIntegerField(default=0),
|
|
),
|
|
migrations.AddField(
|
|
model_name='cloudkitsyncjob',
|
|
name='stadium_aliases_total',
|
|
field=models.PositiveIntegerField(default=0),
|
|
),
|
|
migrations.AddField(
|
|
model_name='cloudkitsyncjob',
|
|
name='team_aliases_failed',
|
|
field=models.PositiveIntegerField(default=0),
|
|
),
|
|
migrations.AddField(
|
|
model_name='cloudkitsyncjob',
|
|
name='team_aliases_synced',
|
|
field=models.PositiveIntegerField(default=0),
|
|
),
|
|
migrations.AddField(
|
|
model_name='cloudkitsyncjob',
|
|
name='team_aliases_total',
|
|
field=models.PositiveIntegerField(default=0),
|
|
),
|
|
migrations.AlterField(
|
|
model_name='cloudkitsyncstate',
|
|
name='record_type',
|
|
field=models.CharField(choices=[('Sport', 'Sport'), ('Conference', 'Conference'), ('Division', 'Division'), ('Team', 'Team'), ('Stadium', 'Stadium'), ('TeamAlias', 'Team Alias'), ('StadiumAlias', 'Stadium Alias'), ('Game', 'Game')], max_length=20),
|
|
),
|
|
]
|