class Migration(migrations.Migration): dependencies = [ ('djstripe', '0001_initial'), ('features', '0002_auto_20170303_0721'), ] operations = [ migrations.AddField( model_name='featureinvite', name='subscribe_to', field=models.ForeignKey( blank=True, help_text='Auto subscribe to this Stripe Plan', null=True, on_delete=django.db.models.deletion.CASCADE, to='djstripe.Plan'), ), migrations.AlterField( model_name='feature', name='status', field=django_intenum.IntEnumField( choices=[(0, 'OFF'), (1, 'STAFF_ONLY'), (2, 'AUTHORIZED_ONLY'), (3, 'LOGGED_IN_USERS'), (4, 'PUBLIC')], default=0, validators=[ django_intenum.IntEnumValidator( hsreplaynet.features.models.FeatureStatus) ]), ), ]
class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name='Feature', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=255, unique=True)), ('description', models.TextField(blank=True)), ('created', models.DateTimeField(auto_now_add=True)), ('status', django_intenum.IntEnumField( choices=[(0, 'OFF'), (1, 'STAFF_ONLY'), (2, 'IN_PROGRESS'), (3, 'PUBLIC'), (4, 'AUTHORIZED_ONLY')], default=2, validators=[ django_intenum.IntEnumValidator( hsreplaynet.features.models.FeatureStatus) ])), ('read_only', models.BooleanField(default=False)), ], ), ]
class Migration(migrations.Migration): dependencies = [ ('games', '0005_auto_20170304_0335'), ] operations = [ migrations.AddField( model_name='globalgameplayer', name='pegasus_account', field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, to='games.PegasusAccount'), ), migrations.AlterField( model_name='pegasusaccount', name='region', field=django_intenum.IntEnumField( choices=[(-1, 'REGION_UNINITIALIZED'), (0, 'REGION_UNKNOWN'), (1, 'REGION_US'), (2, 'REGION_EU'), (3, 'REGION_KR'), (4, 'REGION_TW'), (5, 'REGION_CN'), (40, 'REGION_LIVE_VERIFICATION'), (41, 'REGION_PTR_LOC'), (52, 'REGION_MSCHWEITZER_BN11'), (53, 'REGION_MSCHWEITZER_BN12'), (60, 'REGION_DEV'), (98, 'REGION_PTR')], validators=[ django_intenum.IntEnumValidator( hearthstone.enums.BnetRegion) ]), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('cards', '0001_initial'), ] operations = [ migrations.CreateModel( name='Pack', fields=[ ('id', models.BigAutoField(primary_key=True, serialize=False)), ('booster_type', django_intenum.IntEnumField( choices=[(0, 'INVALID'), (1, 'CLASSIC'), (9, 'GOBLINS_VS_GNOMES'), (10, 'THE_GRAND_TOURNAMENT'), (11, 'OLD_GODS'), (17, 'FIRST_PURCHASE'), (18, 'SIGNUP_INCENTIVE'), (19, 'MEAN_STREETS'), (20, 'UNGORO')], validators=[ django_intenum.IntEnumValidator( hearthstone.enums.Booster) ])), ('date', models.DateTimeField()), ('account_hi', models.BigIntegerField()), ('account_lo', models.BigIntegerField()), ], ), migrations.CreateModel( name='PackCard', fields=[ ('id', models.BigAutoField(primary_key=True, serialize=False)), ('premium', models.BooleanField()), ('card', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='cards.Card')), ('pack', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='packs.Pack')), ], ), migrations.AddField( model_name='pack', name='cards', field=models.ManyToManyField(through='packs.PackCard', to='cards.Card'), ), migrations.AddField( model_name='pack', name='user', field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL), ), ]
class Migration(migrations.Migration): dependencies = [ ('features', '0001_initial'), ] operations = [ migrations.CreateModel( name='FeatureInvite', fields=[ ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('use_count', models.PositiveIntegerField( default=0, editable=False, help_text= 'The amount of times this invitation has been successfully used.' )), ('max_uses', models.PositiveIntegerField(default=0, help_text='0 for unlimited')), ('expires', models.DateTimeField( blank=True, help_text='No longer valid after this date.', null=True)), ('created', models.DateTimeField(auto_now_add=True)), ('modified', models.DateTimeField(auto_now=True)), ], ), migrations.AlterField( model_name='feature', name='status', field=django_intenum.IntEnumField( choices=[(0, 'OFF'), (1, 'STAFF_ONLY'), (2, 'IN_PROGRESS'), (3, 'PUBLIC'), (4, 'AUTHORIZED_ONLY'), (5, 'LOGGED_IN_USERS')], default=2, validators=[ django_intenum.IntEnumValidator( hsreplaynet.features.models.FeatureStatus) ]), ), migrations.AddField( model_name='featureinvite', name='features', field=models.ManyToManyField(related_name='invites', to='features.Feature'), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('cards', '0001_initial'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('api', '0001_initial'), ] operations = [ migrations.CreateModel( name='GameReplay', fields=[ ('id', models.BigAutoField(primary_key=True, serialize=False)), ('shortid', hsreplaynet.utils.fields.ShortUUIDField(blank=True, editable=False, max_length=22, unique=True, verbose_name='Short ID')), ('friendly_player_id', hsreplaynet.utils.fields.PlayerIDField(choices=[(1, 1), (2, 2)], help_text='PlayerID of the friendly player (1 or 2)', null=True, validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(2)], verbose_name='Friendly PlayerID')), ('spectator_mode', models.BooleanField(default=False)), ('spectator_password', models.CharField(blank=True, max_length=16, verbose_name='Spectator Password')), ('client_handle', models.IntegerField(blank=True, null=True)), ('aurora_password', models.CharField(blank=True, max_length=16)), ('build', models.PositiveIntegerField(blank=True, null=True, verbose_name='Hearthstone Build')), ('replay_xml', models.FileField(upload_to=hsreplaynet.games.models.generate_upload_path)), ('hsreplay_version', models.CharField(help_text='The HSReplay library version used to generate the replay', max_length=16, verbose_name='HSReplay library version')), ('hslog_version', models.CharField(help_text='The python-hearthstone library version at processing', max_length=24, null=True, verbose_name='hslog library version')), ('is_deleted', models.BooleanField(default=False, help_text='Indicates user request to delete the upload', verbose_name='Soft deleted')), ('won', models.NullBooleanField()), ('disconnected', models.BooleanField(default=False)), ('reconnecting', models.BooleanField(default=False, help_text='Whether the player is reconnecting to an existing game', verbose_name='Is reconnecting')), ('resumable', models.NullBooleanField()), ('visibility', django_intenum.IntEnumField(choices=[(1, 'Public'), (2, 'Unlisted')], default=1, validators=[django_intenum.IntEnumValidator(hsreplaynet.games.models.Visibility)])), ('hide_player_names', models.BooleanField(default=False)), ('views', models.PositiveIntegerField(default=0)), ], options={ 'ordering': ('global_game',), }, ), migrations.CreateModel( name='GlobalGame', fields=[ ('id', models.BigAutoField(primary_key=True, serialize=False)), ('game_handle', models.IntegerField(blank=True, help_text='Game ID on the Battle.net server', null=True, verbose_name='Game handle')), ('server_address', models.GenericIPAddressField(blank=True, null=True)), ('server_port', models.IntegerField(blank=True, null=True)), ('server_version', models.IntegerField(blank=True, null=True)), ('build', models.PositiveIntegerField(blank=True, help_text='Hearthstone build number the game was played on.', null=True)), ('match_start', models.DateTimeField(db_index=True, null=True)), ('match_end', models.DateTimeField(null=True)), ('game_type', django_intenum.IntEnumField(blank=True, choices=[(0, 'BGT_UNKNOWN'), (1, 'BGT_FRIENDS'), (2, 'BGT_RANKED_STANDARD'), (3, 'BGT_ARENA'), (4, 'BGT_VS_AI'), (5, 'BGT_TUTORIAL'), (6, 'BGT_ASYNC'), (9, 'BGT_NEWBIE'), (7, 'BGT_CASUAL_STANDARD'), (8, 'BGT_TEST1'), (10, 'BGT_TEST3'), (16, 'BGT_TAVERNBRAWL_PVP'), (17, 'BGT_TAVERNBRAWL_1P_VERSUS_AI'), (18, 'BGT_TAVERNBRAWL_2P_COOP'), (30, 'BGT_RANKED_WILD'), (31, 'BGT_CASUAL_WILD'), (32, 'BGT_LAST')], null=True, validators=[django_intenum.IntEnumValidator(hearthstone.enums.BnetGameType)], verbose_name='Game type')), ('format', django_intenum.IntEnumField(choices=[(0, 'FT_UNKNOWN'), (1, 'FT_WILD'), (2, 'FT_STANDARD')], default=0, validators=[django_intenum.IntEnumValidator(hearthstone.enums.FormatType)], verbose_name='Format type')), ('ladder_season', models.IntegerField(blank=True, help_text='The season as calculated from the match start timestamp.', null=True, verbose_name='Ladder season')), ('brawl_season', models.IntegerField(default=0, help_text='The brawl season which increments every time the brawl changes.', verbose_name='Tavern Brawl season')), ('scenario_id', models.IntegerField(blank=True, db_index=True, help_text='ID from DBF/SCENARIO.xml or Scenario cache', null=True, verbose_name='Scenario ID')), ('num_turns', models.IntegerField(blank=True, null=True)), ('num_entities', models.IntegerField(blank=True, null=True)), ('digest', models.CharField(help_text='SHA1 of str(game_handle), str(server_address), str(lo1), str(lo2)', max_length=40, null=True, unique=True)), ], options={ 'ordering': ('-match_start',), }, ), migrations.CreateModel( name='GlobalGamePlayer', fields=[ ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(blank=True, db_index=True, max_length=64, verbose_name='Player name')), ('real_name', models.CharField(blank=True, max_length=64, verbose_name='Real name')), ('player_id', hsreplaynet.utils.fields.PlayerIDField(blank=True, choices=[(1, 1), (2, 2)], validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(2)])), ('account_hi', models.BigIntegerField(blank=True, help_text='The region value from account hilo', null=True, verbose_name='Account Hi')), ('account_lo', models.BigIntegerField(blank=True, help_text='The account ID value from account hilo', null=True, verbose_name='Account Lo')), ('is_ai', models.BooleanField(default=False, help_text='Whether the player is an AI.', verbose_name='Is AI')), ('is_first', models.BooleanField(help_text='Whether the player is the first player', verbose_name='Is first player')), ('hero_premium', models.BooleanField(default=False, help_text="Whether the player's initial hero is golden.", verbose_name='Hero Premium')), ('final_state', django_intenum.IntEnumField(choices=[(0, 'INVALID'), (1, 'PLAYING'), (2, 'WINNING'), (3, 'LOSING'), (4, 'WON'), (5, 'LOST'), (6, 'TIED'), (7, 'DISCONNECTED'), (8, 'CONCEDED')], default=0, validators=[django_intenum.IntEnumValidator(hearthstone.enums.PlayState)], verbose_name='Final State')), ('rank', models.SmallIntegerField(blank=True, help_text='1 through 25, or 0 for legend.', null=True, verbose_name='Rank')), ('legend_rank', models.PositiveIntegerField(blank=True, null=True)), ('stars', models.PositiveSmallIntegerField(blank=True, null=True)), ('wins', models.PositiveIntegerField(blank=True, help_text='Number of wins in the current game mode (eg. ladder season, arena key...)', null=True, verbose_name='Wins')), ('losses', models.PositiveIntegerField(blank=True, help_text='Number of losses in the current game mode (current season)', null=True, verbose_name='Losses')), ('deck_id', models.IntegerField(blank=True, null=True, verbose_name='Deck ID')), ('cardback_id', models.IntegerField(blank=True, null=True, verbose_name='Cardback ID')), ('deck_list', models.ForeignKey(help_text="As much as is known of the player's starting deck list.", on_delete=django.db.models.deletion.PROTECT, to='cards.Deck')), ('game', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='players', to='games.GlobalGame')), ('hero', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='cards.Card')), ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='ReplayAlias', fields=[ ('id', models.BigAutoField(primary_key=True, serialize=False)), ('shortid', hsreplaynet.utils.fields.ShortUUIDField(blank=True, editable=False, max_length=22, unique=True, verbose_name='Short ID')), ('replay', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='aliases', to='games.GameReplay')), ], ), migrations.AddField( model_name='gamereplay', name='global_game', field=models.ForeignKey(help_text='References the single global game that this replay shows.', on_delete=django.db.models.deletion.CASCADE, related_name='replays', to='games.GlobalGame'), ), migrations.AddField( model_name='gamereplay', name='opponent_revealed_deck', field=models.ForeignKey(help_text="As much as is known of the opponent's starting deck list.", null=True, on_delete=django.db.models.deletion.PROTECT, to='cards.Deck'), ), migrations.AddField( model_name='gamereplay', name='upload_token', field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='replays', to='api.AuthToken'), ), migrations.AddField( model_name='gamereplay', name='user', field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='replays', to=settings.AUTH_USER_MODEL), ), migrations.AlterUniqueTogether( name='globalgameplayer', unique_together=set([('game', 'player_id')]), ), migrations.AlterUniqueTogether( name='gamereplay', unique_together=set([('global_game', 'client_handle', 'friendly_player_id', 'spectator_mode', 'reconnecting')]), ), ]
class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name='UploadEvent', fields=[ ('id', models.BigAutoField(primary_key=True, serialize=False)), ('shortid', hsreplaynet.utils.fields.ShortUUIDField( blank=True, editable=False, max_length=22, unique=True, verbose_name='Short ID')), ('token_uuid', models.UUIDField(blank=True, db_column='token_id', null=True)), ('api_key_id', models.IntegerField(blank=True, db_column='api_key_id', null=True)), ('game_id', models.BigIntegerField(blank=True, db_column='game_id', null=True)), ('created', models.DateTimeField(auto_now_add=True, db_index=True)), ('upload_ip', models.GenericIPAddressField(null=True)), ('status', django_intenum.IntEnumField( choices=[(0, 'UNKNOWN'), (1, 'PROCESSING'), (2, 'SERVER_ERROR'), (3, 'PARSING_ERROR'), (4, 'SUCCESS'), (5, 'UNSUPPORTED'), (6, 'VALIDATION_ERROR'), (7, 'VALIDATING'), (8, 'UNSUPPORTED_CLIENT'), (9, 'PENDING')], default=0, validators=[ django_intenum.IntEnumValidator( hsreplaynet.uploads.models.UploadEventStatus) ])), ('tainted', models.BooleanField(default=False)), ('error', models.TextField(blank=True)), ('traceback', models.TextField(blank=True)), ('test_data', models.BooleanField(default=False)), ('canary', models.BooleanField(default=False)), ('metadata', models.TextField(blank=True)), ('file', models.FileField(null=True, upload_to=hsreplaynet.uploads.models. _generate_upload_path)), ('descriptor', models.FileField(blank=True, null=True, upload_to=hsreplaynet.uploads.models. _generate_descriptor_path)), ('user_agent', models.CharField(blank=True, max_length=100)), ('log_stream_name', models.CharField(blank=True, max_length=64)), ('log_group_name', models.CharField(blank=True, max_length=64)), ('updated', models.DateTimeField(auto_now=True)), ], ), ]
class Migration(migrations.Migration): dependencies = [ ('uploads', '0005_auto_20170122_1955'), ] operations = [ migrations.RemoveField( model_name='redshiftstagingtracktable', name='deduplication_complete', ), migrations.RemoveField( model_name='redshiftstagingtracktable', name='duplicates_removed', ), migrations.RemoveField( model_name='redshiftstagingtracktable', name='insert_count', ), migrations.RemoveField( model_name='redshiftstagingtracktable', name='insert_duration_seconds', ), migrations.AddField( model_name='redshiftstagingtrack', name='close_requested', field=models.BooleanField(default=False), ), migrations.AddField( model_name='redshiftstagingtrack', name='deduplicating_ended_at', field=models.DateTimeField(null=True), ), migrations.AddField( model_name='redshiftstagingtrack', name='deduplicating_started_at', field=models.DateTimeField(null=True), ), migrations.AddField( model_name='redshiftstagingtrack', name='gathering_stats_ended_at', field=models.DateTimeField(null=True), ), migrations.AddField( model_name='redshiftstagingtrack', name='gathering_stats_started_at', field=models.DateTimeField(null=True), ), migrations.AddField( model_name='redshiftstagingtrack', name='stage', field=django_intenum.IntEnumField( choices=[(0, 'ERROR'), (1, 'CREATED'), (2, 'INITIALIZING'), (3, 'INITIALIZED'), (4, 'ACTIVE'), (5, 'IN_QUIESCENCE'), (6, 'READY_TO_LOAD'), (7, 'GATHERING_STATS'), (8, 'GATHERING_STATS_COMPLETE'), (9, 'DEDUPLICATING'), (10, 'DEDUPLICATION_COMPLETE'), (11, 'INSERTING'), (12, 'INSERT_COMPLETE'), (13, 'VACUUMING'), (14, 'VACUUM_COMPLETE'), (15, 'ANALYZING'), (16, 'ANALYZE_COMPLETE'), (17, 'CLEANING_UP'), (18, 'FINISHED')], default=1, validators=[ django_intenum.IntEnumValidator( hsreplaynet.uploads.models.RedshiftETLStage) ]), ), migrations.AddField( model_name='redshiftstagingtracktable', name='analyze_query_handle', field=models.CharField(blank=True, max_length=15), ), migrations.AddField( model_name='redshiftstagingtracktable', name='dedupe_query_handle', field=models.CharField(blank=True, max_length=15), ), migrations.AddField( model_name='redshiftstagingtracktable', name='deduplication_ended_at', field=models.DateTimeField(null=True), ), migrations.AddField( model_name='redshiftstagingtracktable', name='deduplication_started_at', field=models.DateTimeField(null=True), ), migrations.AddField( model_name='redshiftstagingtracktable', name='gathering_stats_ended_at', field=models.DateTimeField(null=True), ), migrations.AddField( model_name='redshiftstagingtracktable', name='gathering_stats_handle', field=models.CharField(blank=True, max_length=15), ), migrations.AddField( model_name='redshiftstagingtracktable', name='gathering_stats_started_at', field=models.DateTimeField(null=True), ), migrations.AddField( model_name='redshiftstagingtracktable', name='insert_query_handle', field=models.CharField(blank=True, max_length=15), ), migrations.AddField( model_name='redshiftstagingtracktable', name='stage', field=django_intenum.IntEnumField( choices=[(0, 'ERROR'), (1, 'CREATED'), (2, 'INITIALIZING'), (3, 'INITIALIZED'), (4, 'ACTIVE'), (5, 'IN_QUIESCENCE'), (6, 'READY_TO_LOAD'), (7, 'GATHERING_STATS'), (8, 'GATHERING_STATS_COMPLETE'), (9, 'DEDUPLICATING'), (10, 'DEDUPLICATION_COMPLETE'), (11, 'INSERTING'), (12, 'INSERT_COMPLETE'), (13, 'VACUUMING'), (14, 'VACUUM_COMPLETE'), (15, 'ANALYZING'), (16, 'ANALYZE_COMPLETE'), (17, 'CLEANING_UP'), (18, 'FINISHED')], default=1, validators=[ django_intenum.IntEnumValidator( hsreplaynet.uploads.models.RedshiftETLStage) ]), ), migrations.AddField( model_name='redshiftstagingtracktable', name='vacuum_query_handle', field=models.CharField(blank=True, max_length=15), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='Archetype', fields=[ ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(blank=True, max_length=250)), ('player_class', django_intenum.IntEnumField(choices=[(0, 'INVALID'), (1, 'DEATHKNIGHT'), (2, 'DRUID'), (3, 'HUNTER'), (4, 'MAGE'), (5, 'PALADIN'), (6, 'PRIEST'), (7, 'ROGUE'), (8, 'SHAMAN'), (9, 'WARLOCK'), (10, 'WARRIOR'), (11, 'DREAM'), (12, 'NEUTRAL')], default=0, validators=[django_intenum.IntEnumValidator(hearthstone.enums.CardClass)])), ], ), migrations.CreateModel( name='CanonicalDeck', fields=[ ('id', models.BigAutoField(primary_key=True, serialize=False)), ('created', models.DateTimeField(auto_now_add=True)), ('format', django_intenum.IntEnumField(choices=[(0, 'FT_UNKNOWN'), (1, 'FT_WILD'), (2, 'FT_STANDARD')], default=2, validators=[django_intenum.IntEnumValidator(hearthstone.enums.FormatType)])), ('archetype', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='canonical_decks', to='cards.Archetype')), ], ), migrations.CreateModel( name='Card', fields=[ ('id', models.CharField(max_length=50, primary_key=True, serialize=False)), ('dbf_id', models.IntegerField(db_index=True, null=True, unique=True)), ('name', models.CharField(max_length=50)), ('description', models.TextField(blank=True)), ('flavortext', models.TextField(blank=True)), ('how_to_earn', models.TextField(blank=True)), ('how_to_earn_golden', models.TextField(blank=True)), ('artist', models.CharField(blank=True, max_length=255)), ('card_class', django_intenum.IntEnumField(choices=[(0, 'INVALID'), (1, 'DEATHKNIGHT'), (2, 'DRUID'), (3, 'HUNTER'), (4, 'MAGE'), (5, 'PALADIN'), (6, 'PRIEST'), (7, 'ROGUE'), (8, 'SHAMAN'), (9, 'WARLOCK'), (10, 'WARRIOR'), (11, 'DREAM'), (12, 'NEUTRAL')], default=0, validators=[django_intenum.IntEnumValidator(hearthstone.enums.CardClass)])), ('card_set', django_intenum.IntEnumField(choices=[(0, 'INVALID'), (1, 'TEST_TEMPORARY'), (2, 'CORE'), (3, 'EXPERT1'), (4, 'REWARD'), (5, 'MISSIONS'), (6, 'DEMO'), (7, 'NONE'), (8, 'CHEAT'), (9, 'BLANK'), (10, 'DEBUG_SP'), (11, 'PROMO'), (12, 'NAXX'), (13, 'GVG'), (14, 'BRM'), (15, 'TGT'), (16, 'CREDITS'), (17, 'HERO_SKINS'), (18, 'TB'), (19, 'SLUSH'), (20, 'LOE'), (21, 'OG'), (22, 'OG_RESERVE'), (23, 'KARA'), (24, 'KARA_RESERVE')], default=0, validators=[django_intenum.IntEnumValidator(hearthstone.enums.CardSet)])), ('faction', django_intenum.IntEnumField(choices=[(0, 'INVALID'), (1, 'HORDE'), (2, 'ALLIANCE'), (3, 'NEUTRAL')], default=0, validators=[django_intenum.IntEnumValidator(hearthstone.enums.Faction)])), ('race', django_intenum.IntEnumField(choices=[(0, 'INVALID'), (1, 'BLOODELF'), (2, 'DRAENEI'), (3, 'DWARF'), (4, 'GNOME'), (5, 'GOBLIN'), (6, 'HUMAN'), (7, 'NIGHTELF'), (8, 'ORC'), (9, 'TAUREN'), (10, 'TROLL'), (11, 'UNDEAD'), (12, 'WORGEN'), (13, 'GOBLIN2'), (14, 'MURLOC'), (15, 'DEMON'), (16, 'SCOURGE'), (17, 'MECHANICAL'), (18, 'ELEMENTAL'), (19, 'OGRE'), (20, 'BEAST'), (21, 'TOTEM'), (22, 'NERUBIAN'), (23, 'PIRATE'), (24, 'DRAGON')], default=0, validators=[django_intenum.IntEnumValidator(hearthstone.enums.Race)])), ('rarity', django_intenum.IntEnumField(choices=[(0, 'INVALID'), (1, 'COMMON'), (2, 'FREE'), (3, 'RARE'), (4, 'EPIC'), (5, 'LEGENDARY'), (6, 'UNKNOWN_6')], default=0, validators=[django_intenum.IntEnumValidator(hearthstone.enums.Rarity)])), ('type', django_intenum.IntEnumField(choices=[(0, 'INVALID'), (1, 'GAME'), (2, 'PLAYER'), (3, 'HERO'), (4, 'MINION'), (5, 'SPELL'), (6, 'ENCHANTMENT'), (7, 'WEAPON'), (8, 'ITEM'), (9, 'TOKEN'), (10, 'HERO_POWER')], default=0, validators=[django_intenum.IntEnumValidator(hearthstone.enums.CardType)])), ('collectible', models.BooleanField(default=False)), ('battlecry', models.BooleanField(default=False)), ('divine_shield', models.BooleanField(default=False)), ('deathrattle', models.BooleanField(default=False)), ('elite', models.BooleanField(default=False)), ('evil_glow', models.BooleanField(default=False)), ('inspire', models.BooleanField(default=False)), ('forgetful', models.BooleanField(default=False)), ('one_turn_effect', models.BooleanField(default=False)), ('poisonous', models.BooleanField(default=False)), ('ritual', models.BooleanField(default=False)), ('secret', models.BooleanField(default=False)), ('taunt', models.BooleanField(default=False)), ('topdeck', models.BooleanField(default=False)), ('atk', models.IntegerField(default=0)), ('health', models.IntegerField(default=0)), ('durability', models.IntegerField(default=0)), ('cost', models.IntegerField(default=0)), ('windfury', models.IntegerField(default=0)), ('spare_part', models.BooleanField(default=False)), ('overload', models.IntegerField(default=0)), ('spell_damage', models.IntegerField(default=0)), ('craftable', models.BooleanField(default=False)), ], options={ 'db_table': 'card', }, ), migrations.CreateModel( name='Deck', fields=[ ('id', models.BigAutoField(primary_key=True, serialize=False)), ('digest', models.CharField(max_length=32, unique=True)), ('created', models.DateTimeField(auto_now_add=True, null=True)), ('size', models.IntegerField(null=True)), ('archetype', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='cards.Archetype')), ], ), migrations.CreateModel( name='Include', fields=[ ('id', models.BigAutoField(primary_key=True, serialize=False)), ('count', models.IntegerField(default=1)), ('card', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='included_in', to='cards.Card')), ('deck', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='includes', to='cards.Deck')), ], ), migrations.AddField( model_name='deck', name='cards', field=models.ManyToManyField(through='cards.Include', to='cards.Card'), ), migrations.AddField( model_name='canonicaldeck', name='deck', field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='canonical_for_archetypes', to='cards.Deck'), ), migrations.AlterUniqueTogether( name='include', unique_together=set([('deck', 'card')]), ), ]
class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name='Adventure', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('note_desc', models.CharField(max_length=64)), ('name', models.CharField(max_length=64)), ('sort_order', models.PositiveIntegerField(default=0)), ('leaving_soon', models.BooleanField(default=False)), ('created', models.DateTimeField(auto_now_add=True)), ('updated', models.DateTimeField(auto_now=True)), ('build', models.PositiveIntegerField()), ], ), migrations.CreateModel( name='Scenario', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('note_desc', models.CharField(max_length=64)), ('players', models.PositiveSmallIntegerField()), ('player1_hero_card_id', models.IntegerField(null=True)), ('player2_hero_card_id', models.IntegerField(null=True)), ('is_tutorial', models.BooleanField(default=False)), ('is_expert', models.BooleanField(default=False)), ('is_coop', models.BooleanField(default=False)), ('sort_order', models.PositiveIntegerField(default=0)), ('mode', django_intenum.IntEnumField( choices=[(1, 'NORMAL'), (2, 'EXPERT'), (3, 'HEROIC'), (4, 'CLASS_CHALLENGE')], default=0, validators=[ django_intenum.IntEnumValidator( hsreplaynet.scenarios.models.AdventureMode) ])), ('client_player2_hero_card_id', models.IntegerField(null=True)), ('name', models.CharField(max_length=64)), ('description', models.TextField()), ('opponent_name', models.CharField(max_length=64)), ('completed_description', models.TextField()), ('player1_deck_id', models.IntegerField(null=True)), ('created', models.DateTimeField(auto_now_add=True)), ('updated', models.DateTimeField(auto_now=True)), ('build', models.PositiveIntegerField()), ('adventure', models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='scenarios.Adventure')), ], ), migrations.CreateModel( name='Wing', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('note_desc', models.CharField(max_length=64)), ('sort_order', models.PositiveIntegerField()), ('release', models.CharField(max_length=16)), ('required_event', models.CharField(max_length=16)), ('name', models.CharField(max_length=64)), ('coming_soon_label', models.CharField(max_length=64)), ('requires_label', models.CharField(max_length=64)), ('created', models.DateTimeField(auto_now_add=True)), ('updated', models.DateTimeField(auto_now=True)), ('build', models.PositiveIntegerField()), ('adventure', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='scenarios.Adventure')), ('ownership_prereq_wing', models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='scenarios.Wing')), ], ), migrations.AddField( model_name='scenario', name='wing', field=models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='scenarios.Wing'), ), ]
class Migration(migrations.Migration): dependencies = [ ('uploads', '0006_auto_20170125_2001'), ] operations = [ migrations.AddField( model_name='redshiftstagingtrack', name='refreshing_view_end_at', field=models.DateTimeField(null=True), ), migrations.AddField( model_name='redshiftstagingtrack', name='refreshing_view_start_at', field=models.DateTimeField(null=True), ), migrations.AddField( model_name='redshiftstagingtracktable', name='is_materialized_view', field=models.BooleanField(default=False), ), migrations.AddField( model_name='redshiftstagingtracktable', name='refreshing_view_end_at', field=models.DateTimeField(null=True), ), migrations.AddField( model_name='redshiftstagingtracktable', name='refreshing_view_handle', field=models.CharField(blank=True, max_length=15), ), migrations.AddField( model_name='redshiftstagingtracktable', name='refreshing_view_start_at', field=models.DateTimeField(null=True), ), migrations.AlterField( model_name='redshiftstagingtrack', name='stage', field=django_intenum.IntEnumField( choices=[(0, 'ERROR'), (1, 'CREATED'), (2, 'INITIALIZING'), (3, 'INITIALIZED'), (4, 'ACTIVE'), (5, 'IN_QUIESCENCE'), (6, 'READY_TO_LOAD'), (7, 'GATHERING_STATS'), (8, 'GATHERING_STATS_COMPLETE'), (9, 'DEDUPLICATING'), (10, 'DEDUPLICATION_COMPLETE'), (11, 'INSERTING'), (12, 'INSERT_COMPLETE'), (13, 'REFRESHING_MATERIALIZED_VIEWS'), (14, 'REFRESHING_MATERIALIZED_VIEWS_COMPLETE'), (15, 'VACUUMING'), (16, 'VACUUM_COMPLETE'), (17, 'ANALYZING'), (18, 'ANALYZE_COMPLETE'), (19, 'CLEANING_UP'), (20, 'FINISHED')], default=1, validators=[ django_intenum.IntEnumValidator( hsreplaynet.uploads.models.RedshiftETLStage) ]), ), migrations.AlterField( model_name='redshiftstagingtracktable', name='stage', field=django_intenum.IntEnumField( choices=[(0, 'ERROR'), (1, 'CREATED'), (2, 'INITIALIZING'), (3, 'INITIALIZED'), (4, 'ACTIVE'), (5, 'IN_QUIESCENCE'), (6, 'READY_TO_LOAD'), (7, 'GATHERING_STATS'), (8, 'GATHERING_STATS_COMPLETE'), (9, 'DEDUPLICATING'), (10, 'DEDUPLICATION_COMPLETE'), (11, 'INSERTING'), (12, 'INSERT_COMPLETE'), (13, 'REFRESHING_MATERIALIZED_VIEWS'), (14, 'REFRESHING_MATERIALIZED_VIEWS_COMPLETE'), (15, 'VACUUMING'), (16, 'VACUUM_COMPLETE'), (17, 'ANALYZING'), (18, 'ANALYZE_COMPLETE'), (19, 'CLEANING_UP'), (20, 'FINISHED')], default=1, validators=[ django_intenum.IntEnumValidator( hsreplaynet.uploads.models.RedshiftETLStage) ]), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('cards', '0001_initial'), ] operations = [ migrations.CreateModel( name='Archetype', fields=[ ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(blank=True, max_length=250)), ('player_class', django_intenum.IntEnumField( choices=[(0, 'INVALID'), (1, 'DEATHKNIGHT'), (2, 'DRUID'), (3, 'HUNTER'), (4, 'MAGE'), (5, 'PALADIN'), (6, 'PRIEST'), (7, 'ROGUE'), (8, 'SHAMAN'), (9, 'WARLOCK'), (10, 'WARRIOR'), (11, 'DREAM'), (12, 'NEUTRAL')], default=0, validators=[ django_intenum.IntEnumValidator( hearthstone.enums.CardClass) ])), ], options={ 'db_table': 'cards_archetype', }, ), migrations.CreateModel( name='CanonicalDeck', fields=[ ('id', models.BigAutoField(primary_key=True, serialize=False)), ('created', models.DateTimeField(auto_now_add=True)), ('format', django_intenum.IntEnumField( choices=[(0, 'FT_UNKNOWN'), (1, 'FT_WILD'), (2, 'FT_STANDARD')], default=2, validators=[ django_intenum.IntEnumValidator( hearthstone.enums.FormatType) ])), ('archetype', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='canonical_decks', to='decks.Archetype')), ], options={ 'db_table': 'cards_canonicaldeck', }, ), migrations.CreateModel( name='Deck', fields=[ ('id', models.BigAutoField(primary_key=True, serialize=False)), ('digest', models.CharField(max_length=32, unique=True)), ('created', models.DateTimeField(auto_now_add=True, null=True)), ('size', models.IntegerField(null=True)), ('archetype', models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='decks.Archetype')), ], options={ 'db_table': 'cards_deck', }, ), migrations.CreateModel( name='Include', fields=[ ('id', models.BigAutoField(primary_key=True, serialize=False)), ('count', models.IntegerField(default=1)), ('card', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='included_in', to='cards.Card')), ('deck', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='includes', to='decks.Deck')), ], options={ 'db_table': 'cards_include', }, ), migrations.CreateModel( name='Signature', fields=[ ('id', models.AutoField(primary_key=True, serialize=False)), ('format', django_intenum.IntEnumField( choices=[(0, 'FT_UNKNOWN'), (1, 'FT_WILD'), (2, 'FT_STANDARD')], default=2, validators=[ django_intenum.IntEnumValidator( hearthstone.enums.FormatType) ])), ('as_of', models.DateTimeField()), ('archetype', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='decks.Archetype')), ], ), migrations.CreateModel( name='SignatureComponent', fields=[ ('id', models.AutoField(primary_key=True, serialize=False)), ('weight', models.FloatField(default=0.0)), ('card', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='signature_components', to='cards.Card')), ('signature', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='components', to='decks.Signature')), ], ), migrations.AddField( model_name='deck', name='cards', field=models.ManyToManyField(through='decks.Include', to='cards.Card'), ), migrations.AddField( model_name='canonicaldeck', name='deck', field=models.ForeignKey( on_delete=django.db.models.deletion.PROTECT, related_name='canonical_for_archetypes', to='decks.Deck'), ), migrations.AlterUniqueTogether( name='include', unique_together=set([('deck', 'card')]), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='User', fields=[ ('password', models.CharField(max_length=128, verbose_name='password')), ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), ('first_name', models.CharField(blank=True, max_length=30, verbose_name='first name')), ('last_name', models.CharField(blank=True, max_length=30, verbose_name='last name')), ('email', models.EmailField(blank=True, max_length=254, verbose_name='email address')), ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')), ('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')), ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('username', models.CharField(max_length=150, unique=True)), ('battletag', models.CharField(blank=True, help_text="The user's primary Battle.net username.", max_length=24)), ('is_fake', models.BooleanField(default=False)), ('locale', models.CharField(choices=[('enUS', 'English'), ('zhTW', 'Chinese (TW)'), ('zhCN', 'Chinese (CN)'), ('frFR', 'French'), ('deDE', 'German'), ('itIT', 'Italian'), ('jaJP', 'Japanese'), ('koKR', 'Korean'), ('plPL', 'Polish'), ('ptBR', 'Portuguese (BR)'), ('ptPT', 'Portuguese (PT)'), ('ruRU', 'Russian'), ('esES', 'Spanish (ES)'), ('esMX', 'Spanish (MX)'), ('thTH', 'Thai')], default='enUS', help_text="The user's preferred Hearthstone locale for display", max_length=8)), ('default_replay_visibility', django_intenum.IntEnumField(choices=[(1, 'Public'), (2, 'Unlisted')], default=1, validators=[django_intenum.IntEnumValidator(hsreplaynet.games.models.Visibility)], verbose_name='Default replay visibility')), ('exclude_from_statistics', models.BooleanField(default=False)), ('joust_autoplay', models.BooleanField(default=True)), ], options={ 'abstract': False, 'verbose_name_plural': 'users', 'verbose_name': 'user', }, managers=[ ('objects', django.contrib.auth.models.UserManager()), ], ), migrations.CreateModel( name='AccountClaim', fields=[ ('id', models.UUIDField(primary_key=True, serialize=False)), ('created', models.DateTimeField(auto_now_add=True, verbose_name='Created')), ], ), migrations.CreateModel( name='AccountDeleteRequest', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('reason', models.TextField(blank=True)), ('delete_replay_data', models.BooleanField(default=False)), ('created', models.DateTimeField(auto_now_add=True)), ('updated', models.DateTimeField(auto_now=True)), ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), ]