authentik.providers.oauth2.migrations.0013_devicetoken
1# Generated by Django 4.0.6 on 2022-07-27 08:15 2 3import django.db.models.deletion 4from django.conf import settings 5from django.db import migrations, models 6 7import authentik.core.models 8import authentik.lib.generators 9 10 11class Migration(migrations.Migration): 12 dependencies = [ 13 migrations.swappable_dependency(settings.AUTH_USER_MODEL), 14 ("authentik_providers_oauth2", "0012_remove_oauth2provider_verification_keys"), 15 ] 16 17 operations = [ 18 migrations.CreateModel( 19 name="DeviceToken", 20 fields=[ 21 ( 22 "id", 23 models.AutoField( 24 auto_created=True, primary_key=True, serialize=False, verbose_name="ID" 25 ), 26 ), 27 ( 28 "expires", 29 models.DateTimeField(default=authentik.core.models.default_token_duration), 30 ), 31 ("expiring", models.BooleanField(default=True)), 32 ("device_code", models.TextField(default=authentik.lib.generators.generate_key)), 33 ( 34 "user_code", 35 models.TextField(default=authentik.lib.generators.generate_code_fixed_length), 36 ), 37 ("_scope", models.TextField(default="", verbose_name="Scopes")), 38 ( 39 "provider", 40 models.ForeignKey( 41 on_delete=django.db.models.deletion.CASCADE, 42 to="authentik_providers_oauth2.oauth2provider", 43 ), 44 ), 45 ( 46 "user", 47 models.ForeignKey( 48 default=None, 49 null=True, 50 on_delete=django.db.models.deletion.CASCADE, 51 to=settings.AUTH_USER_MODEL, 52 ), 53 ), 54 ], 55 options={ 56 "verbose_name": "Device Token", 57 "verbose_name_plural": "Device Tokens", 58 }, 59 ), 60 ]
class
Migration(django.db.migrations.migration.Migration):
12class Migration(migrations.Migration): 13 dependencies = [ 14 migrations.swappable_dependency(settings.AUTH_USER_MODEL), 15 ("authentik_providers_oauth2", "0012_remove_oauth2provider_verification_keys"), 16 ] 17 18 operations = [ 19 migrations.CreateModel( 20 name="DeviceToken", 21 fields=[ 22 ( 23 "id", 24 models.AutoField( 25 auto_created=True, primary_key=True, serialize=False, verbose_name="ID" 26 ), 27 ), 28 ( 29 "expires", 30 models.DateTimeField(default=authentik.core.models.default_token_duration), 31 ), 32 ("expiring", models.BooleanField(default=True)), 33 ("device_code", models.TextField(default=authentik.lib.generators.generate_key)), 34 ( 35 "user_code", 36 models.TextField(default=authentik.lib.generators.generate_code_fixed_length), 37 ), 38 ("_scope", models.TextField(default="", verbose_name="Scopes")), 39 ( 40 "provider", 41 models.ForeignKey( 42 on_delete=django.db.models.deletion.CASCADE, 43 to="authentik_providers_oauth2.oauth2provider", 44 ), 45 ), 46 ( 47 "user", 48 models.ForeignKey( 49 default=None, 50 null=True, 51 on_delete=django.db.models.deletion.CASCADE, 52 to=settings.AUTH_USER_MODEL, 53 ), 54 ), 55 ], 56 options={ 57 "verbose_name": "Device Token", 58 "verbose_name_plural": "Device Tokens", 59 }, 60 ), 61 ]
The base class for all migrations.
Migration files will import this from django.db.migrations.Migration and subclass it as a class called Migration. It will have one or more of the following attributes:
- operations: A list of Operation instances, probably from django.db.migrations.operations
- dependencies: A list of tuples of (app_path, migration_name)
- run_before: A list of tuples of (app_path, migration_name)
- replaces: A list of migration_names
Note that all migrations come out of migrations and into the Loader or Graph as instances, having been initialized with their app label and name.
dependencies =
[('authentik_core', '__first__'), ('authentik_providers_oauth2', '0012_remove_oauth2provider_verification_keys')]
operations =
[<CreateModel name='DeviceToken', fields=[('id', <django.db.models.fields.AutoField>), ('expires', <django.db.models.fields.DateTimeField>), ('expiring', <django.db.models.fields.BooleanField>), ('device_code', <django.db.models.fields.TextField>), ('user_code', <django.db.models.fields.TextField>), ('_scope', <django.db.models.fields.TextField>), ('provider', <django.db.models.fields.related.ForeignKey>), ('user', <django.db.models.fields.related.ForeignKey>)], options={'verbose_name': 'Device Token', 'verbose_name_plural': 'Device Tokens'}>]