authentik.endpoints.connectors.agent.migrations.0005_appleindependentsecureenclave

 1# Generated by Django 5.2.12 on 2026-03-06 14:38
 2
 3import django.db.models.deletion
 4import uuid
 5from django.conf import settings
 6from django.db import migrations, models
 7
 8
 9class Migration(migrations.Migration):
10
11    dependencies = [
12        (
13            "authentik_endpoints_connectors_agent",
14            "0004_agentconnector_challenge_idle_timeout_and_more",
15        ),
16        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
17    ]
18
19    operations = [
20        migrations.CreateModel(
21            name="AppleIndependentSecureEnclave",
22            fields=[
23                ("created", models.DateTimeField(auto_now_add=True)),
24                ("last_updated", models.DateTimeField(auto_now=True)),
25                (
26                    "name",
27                    models.CharField(
28                        help_text="The human-readable name of this device.", max_length=64
29                    ),
30                ),
31                (
32                    "confirmed",
33                    models.BooleanField(default=True, help_text="Is this device ready for use?"),
34                ),
35                ("last_used", models.DateTimeField(null=True)),
36                ("uuid", models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)),
37                ("apple_secure_enclave_key", models.TextField()),
38                ("apple_enclave_key_id", models.TextField()),
39                ("device_type", models.TextField()),
40                (
41                    "user",
42                    models.ForeignKey(
43                        help_text="The user that this device belongs to.",
44                        on_delete=django.db.models.deletion.CASCADE,
45                        to=settings.AUTH_USER_MODEL,
46                    ),
47                ),
48            ],
49            options={
50                "verbose_name": "Apple Independent Secure Enclave",
51                "verbose_name_plural": "Apple Independent Secure Enclaves",
52            },
53        ),
54    ]
class Migration(django.db.migrations.migration.Migration):
10class Migration(migrations.Migration):
11
12    dependencies = [
13        (
14            "authentik_endpoints_connectors_agent",
15            "0004_agentconnector_challenge_idle_timeout_and_more",
16        ),
17        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
18    ]
19
20    operations = [
21        migrations.CreateModel(
22            name="AppleIndependentSecureEnclave",
23            fields=[
24                ("created", models.DateTimeField(auto_now_add=True)),
25                ("last_updated", models.DateTimeField(auto_now=True)),
26                (
27                    "name",
28                    models.CharField(
29                        help_text="The human-readable name of this device.", max_length=64
30                    ),
31                ),
32                (
33                    "confirmed",
34                    models.BooleanField(default=True, help_text="Is this device ready for use?"),
35                ),
36                ("last_used", models.DateTimeField(null=True)),
37                ("uuid", models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)),
38                ("apple_secure_enclave_key", models.TextField()),
39                ("apple_enclave_key_id", models.TextField()),
40                ("device_type", models.TextField()),
41                (
42                    "user",
43                    models.ForeignKey(
44                        help_text="The user that this device belongs to.",
45                        on_delete=django.db.models.deletion.CASCADE,
46                        to=settings.AUTH_USER_MODEL,
47                    ),
48                ),
49            ],
50            options={
51                "verbose_name": "Apple Independent Secure Enclave",
52                "verbose_name_plural": "Apple Independent Secure Enclaves",
53            },
54        ),
55    ]

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_connectors_agent', '0004_agentconnector_challenge_idle_timeout_and_more'), ('authentik_core', '__first__')]
operations = [<CreateModel name='AppleIndependentSecureEnclave', fields=[('created', <django.db.models.fields.DateTimeField>), ('last_updated', <django.db.models.fields.DateTimeField>), ('name', <django.db.models.fields.CharField>), ('confirmed', <django.db.models.fields.BooleanField>), ('last_used', <django.db.models.fields.DateTimeField>), ('uuid', <django.db.models.fields.UUIDField>), ('apple_secure_enclave_key', <django.db.models.fields.TextField>), ('apple_enclave_key_id', <django.db.models.fields.TextField>), ('device_type', <django.db.models.fields.TextField>), ('user', <django.db.models.fields.related.ForeignKey>)], options={'verbose_name': 'Apple Independent Secure Enclave', 'verbose_name_plural': 'Apple Independent Secure Enclaves'}>]