# Generated by Django 5.2.7 on 2025-10-29 00:11 import django.db.models.deletion from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name="Collection", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("url", models.URLField()), ], ), migrations.CreateModel( name="SteamCollection", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "steam_id", models.CharField( help_text="Steam collection ID from URL", max_length=50, unique=True, ), ), ( "url", models.URLField(help_text="Full Steam Workshop collection URL"), ), ( "title", models.CharField( blank=True, help_text="Collection title", max_length=255 ), ), ( "description", models.TextField(blank=True, help_text="Collection description"), ), ( "author_name", models.CharField( blank=True, help_text="Steam username of collection creator", max_length=100, ), ), ( "author_steam_id", models.CharField( blank=True, help_text="Steam ID of collection creator", max_length=50, ), ), ( "total_items", models.PositiveIntegerField( default=0, help_text="Number of items in collection" ), ), ( "unique_visitors", models.PositiveIntegerField( default=0, help_text="Number of unique visitors" ), ), ( "current_favorites", models.PositiveIntegerField( default=0, help_text="Current number of favorites" ), ), ( "total_favorites", models.PositiveIntegerField( default=0, help_text="Total unique favorites" ), ), ( "steam_created_date", models.DateTimeField( blank=True, help_text="When collection was created on Steam", null=True, ), ), ( "steam_updated_date", models.DateTimeField( blank=True, help_text="When collection was last updated on Steam", null=True, ), ), ("created_at", models.DateTimeField(auto_now_add=True)), ("updated_at", models.DateTimeField(auto_now=True)), ( "last_fetched", models.DateTimeField( blank=True, help_text="When data was last fetched from Steam", null=True, ), ), ( "is_active", models.BooleanField( default=True, help_text="Whether this collection is actively tracked", ), ), ( "fetch_error", models.TextField( blank=True, help_text="Last error encountered when fetching data", ), ), ], options={ "verbose_name": "Steam Collection", "verbose_name_plural": "Steam Collections", "ordering": ["-created_at"], }, ), migrations.CreateModel( name="SteamCollectionItem", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "steam_item_id", models.CharField(help_text="Steam Workshop item ID", max_length=50), ), ( "title", models.CharField( blank=True, help_text="Item title", max_length=255 ), ), ( "author_name", models.CharField( blank=True, help_text="Steam username of item creator", max_length=100, ), ), ( "author_steam_id", models.CharField( blank=True, help_text="Steam ID of item creator", max_length=50 ), ), ( "description", models.TextField(blank=True, help_text="Item description"), ), ( "tags", models.JSONField( blank=True, default=list, help_text="Item tags as JSON array" ), ), ( "order_index", models.PositiveIntegerField( default=0, help_text="Order of item in collection" ), ), ("created_at", models.DateTimeField(auto_now_add=True)), ("updated_at", models.DateTimeField(auto_now=True)), ( "collection", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name="items", to="submissions.steamcollection", ), ), ], options={ "verbose_name": "Steam Collection Item", "verbose_name_plural": "Steam Collection Items", "ordering": ["collection", "order_index"], "unique_together": {("collection", "steam_item_id")}, }, ), ]