authentik.endpoints.connectors.agent.migrations.0002_deviceauthenticationtoken_alter_devicetoken_options_and_more
1# Generated by Django 5.2.8 on 2025-11-27 00:16 2 3import django.db.models.deletion 4import uuid 5from django.db import migrations, models 6 7 8class Migration(migrations.Migration): 9 10 dependencies = [ 11 ("authentik_endpoints", "0002_rename_devicegroup_deviceaccessgroup_and_more"), 12 ("authentik_endpoints_connectors_agent", "0001_initial"), 13 ( 14 "authentik_providers_oauth2", 15 "0031_remove_oauth2provider_backchannel_logout_uri_and_more", 16 ), 17 ] 18 19 operations = [ 20 migrations.CreateModel( 21 name="DeviceAuthenticationToken", 22 fields=[ 23 ("expires", models.DateTimeField(default=None, null=True)), 24 ("expiring", models.BooleanField(default=True)), 25 ( 26 "identifier", 27 models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False), 28 ), 29 ("token", models.TextField()), 30 ], 31 options={ 32 "verbose_name": "Device authentication token", 33 "verbose_name_plural": "Device authentication tokens", 34 "abstract": False, 35 }, 36 ), 37 migrations.AlterModelOptions( 38 name="devicetoken", 39 options={"verbose_name": "Device Token", "verbose_name_plural": "Device Tokens"}, 40 ), 41 migrations.RenameField( 42 model_name="agentconnector", 43 old_name="authentication_flow", 44 new_name="authorization_flow", 45 ), 46 migrations.AddField( 47 model_name="agentconnector", 48 name="jwt_federation_providers", 49 field=models.ManyToManyField( 50 blank=True, default=None, to="authentik_providers_oauth2.oauth2provider" 51 ), 52 ), 53 migrations.AddIndex( 54 model_name="devicetoken", 55 index=models.Index(fields=["key"], name="authentik_e_key_504bbc_idx"), 56 ), 57 migrations.AddField( 58 model_name="deviceauthenticationtoken", 59 name="connector", 60 field=models.ForeignKey( 61 on_delete=django.db.models.deletion.CASCADE, 62 to="authentik_endpoints_connectors_agent.agentconnector", 63 ), 64 ), 65 migrations.AddField( 66 model_name="deviceauthenticationtoken", 67 name="device", 68 field=models.ForeignKey( 69 on_delete=django.db.models.deletion.CASCADE, to="authentik_endpoints.device" 70 ), 71 ), 72 migrations.AddField( 73 model_name="deviceauthenticationtoken", 74 name="device_token", 75 field=models.ForeignKey( 76 on_delete=django.db.models.deletion.CASCADE, 77 to="authentik_endpoints_connectors_agent.devicetoken", 78 ), 79 ), 80 migrations.AddIndex( 81 model_name="deviceauthenticationtoken", 82 index=models.Index(fields=["expires"], name="authentik_e_expires_d52fb2_idx"), 83 ), 84 migrations.AddIndex( 85 model_name="deviceauthenticationtoken", 86 index=models.Index(fields=["expiring"], name="authentik_e_expirin_e9b873_idx"), 87 ), 88 migrations.AddIndex( 89 model_name="deviceauthenticationtoken", 90 index=models.Index( 91 fields=["expiring", "expires"], name="authentik_e_expirin_8c95fe_idx" 92 ), 93 ), 94 ]
class
Migration(django.db.migrations.migration.Migration):
9class Migration(migrations.Migration): 10 11 dependencies = [ 12 ("authentik_endpoints", "0002_rename_devicegroup_deviceaccessgroup_and_more"), 13 ("authentik_endpoints_connectors_agent", "0001_initial"), 14 ( 15 "authentik_providers_oauth2", 16 "0031_remove_oauth2provider_backchannel_logout_uri_and_more", 17 ), 18 ] 19 20 operations = [ 21 migrations.CreateModel( 22 name="DeviceAuthenticationToken", 23 fields=[ 24 ("expires", models.DateTimeField(default=None, null=True)), 25 ("expiring", models.BooleanField(default=True)), 26 ( 27 "identifier", 28 models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False), 29 ), 30 ("token", models.TextField()), 31 ], 32 options={ 33 "verbose_name": "Device authentication token", 34 "verbose_name_plural": "Device authentication tokens", 35 "abstract": False, 36 }, 37 ), 38 migrations.AlterModelOptions( 39 name="devicetoken", 40 options={"verbose_name": "Device Token", "verbose_name_plural": "Device Tokens"}, 41 ), 42 migrations.RenameField( 43 model_name="agentconnector", 44 old_name="authentication_flow", 45 new_name="authorization_flow", 46 ), 47 migrations.AddField( 48 model_name="agentconnector", 49 name="jwt_federation_providers", 50 field=models.ManyToManyField( 51 blank=True, default=None, to="authentik_providers_oauth2.oauth2provider" 52 ), 53 ), 54 migrations.AddIndex( 55 model_name="devicetoken", 56 index=models.Index(fields=["key"], name="authentik_e_key_504bbc_idx"), 57 ), 58 migrations.AddField( 59 model_name="deviceauthenticationtoken", 60 name="connector", 61 field=models.ForeignKey( 62 on_delete=django.db.models.deletion.CASCADE, 63 to="authentik_endpoints_connectors_agent.agentconnector", 64 ), 65 ), 66 migrations.AddField( 67 model_name="deviceauthenticationtoken", 68 name="device", 69 field=models.ForeignKey( 70 on_delete=django.db.models.deletion.CASCADE, to="authentik_endpoints.device" 71 ), 72 ), 73 migrations.AddField( 74 model_name="deviceauthenticationtoken", 75 name="device_token", 76 field=models.ForeignKey( 77 on_delete=django.db.models.deletion.CASCADE, 78 to="authentik_endpoints_connectors_agent.devicetoken", 79 ), 80 ), 81 migrations.AddIndex( 82 model_name="deviceauthenticationtoken", 83 index=models.Index(fields=["expires"], name="authentik_e_expires_d52fb2_idx"), 84 ), 85 migrations.AddIndex( 86 model_name="deviceauthenticationtoken", 87 index=models.Index(fields=["expiring"], name="authentik_e_expirin_e9b873_idx"), 88 ), 89 migrations.AddIndex( 90 model_name="deviceauthenticationtoken", 91 index=models.Index( 92 fields=["expiring", "expires"], name="authentik_e_expirin_8c95fe_idx" 93 ), 94 ), 95 ]
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_endpoints', '0002_rename_devicegroup_deviceaccessgroup_and_more'), ('authentik_endpoints_connectors_agent', '0001_initial'), ('authentik_providers_oauth2', '0031_remove_oauth2provider_backchannel_logout_uri_and_more')]
operations =
[<CreateModel name='DeviceAuthenticationToken', fields=[('expires', <django.db.models.fields.DateTimeField>), ('expiring', <django.db.models.fields.BooleanField>), ('identifier', <django.db.models.fields.UUIDField>), ('token', <django.db.models.fields.TextField>)], options={'verbose_name': 'Device authentication token', 'verbose_name_plural': 'Device authentication tokens', 'abstract': False}>, <AlterModelOptions name='devicetoken', options={'verbose_name': 'Device Token', 'verbose_name_plural': 'Device Tokens'}>, <RenameField model_name='agentconnector', old_name='authentication_flow', new_name='authorization_flow'>, <AddField model_name='agentconnector', name='jwt_federation_providers', field=<django.db.models.fields.related.ManyToManyField>>, <AddIndex model_name='devicetoken', index=<Index: fields=['key'] name='authentik_e_key_504bbc_idx'>>, <AddField model_name='deviceauthenticationtoken', name='connector', field=<django.db.models.fields.related.ForeignKey>>, <AddField model_name='deviceauthenticationtoken', name='device', field=<django.db.models.fields.related.ForeignKey>>, <AddField model_name='deviceauthenticationtoken', name='device_token', field=<django.db.models.fields.related.ForeignKey>>, <AddIndex model_name='deviceauthenticationtoken', index=<Index: fields=['expires'] name='authentik_e_expires_d52fb2_idx'>>, <AddIndex model_name='deviceauthenticationtoken', index=<Index: fields=['expiring'] name='authentik_e_expirin_e9b873_idx'>>, <AddIndex model_name='deviceauthenticationtoken', index=<Index: fields=['expiring', 'expires'] name='authentik_e_expirin_8c95fe_idx'>>]