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)
                ]),
        ),
    ]
示例#2
0
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)),
            ],
        ),
    ]
示例#3
0
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)
                ]),
        ),
    ]
示例#4
0
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'),
        ),
    ]
示例#6
0
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')]),
        ),
    ]
示例#7
0
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)),
            ],
        ),
    ]
示例#8
0
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),
        ),
    ]
示例#9
0
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')]),
        ),
    ]
示例#10
0
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)
                ]),
        ),
    ]
示例#12
0
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')]),
        ),
    ]
示例#13
0
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)),
            ],
        ),
    ]