# 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')}, }, ), ]