authentik.events.migrations.0004_systemtask

 1# Generated by Django 5.0.1 on 2024-01-24 12:48
 2
 3import uuid
 4
 5from django.db import migrations, models
 6
 7import authentik.core.models
 8
 9
10class Migration(migrations.Migration):
11    dependencies = [
12        ("authentik_events", "0003_rename_tenant_event_brand"),
13    ]
14
15    operations = [
16        migrations.CreateModel(
17            name="SystemTask",
18            fields=[
19                (
20                    "expires",
21                    models.DateTimeField(default=authentik.core.models.default_token_duration),
22                ),
23                ("expiring", models.BooleanField(default=True)),
24                (
25                    "uuid",
26                    models.UUIDField(
27                        default=uuid.uuid4, editable=False, primary_key=True, serialize=False
28                    ),
29                ),
30                ("name", models.TextField()),
31                ("uid", models.TextField(null=True)),
32                ("start_timestamp", models.FloatField()),
33                ("finish_timestamp", models.FloatField()),
34                (
35                    "status",
36                    models.TextField(
37                        choices=[
38                            ("unknown", "Unknown"),
39                            ("successful", "Successful"),
40                            ("warning", "Warning"),
41                            ("error", "Error"),
42                        ]
43                    ),
44                ),
45                ("description", models.TextField(null=True)),
46                ("messages", models.JSONField()),
47                ("task_call_module", models.TextField()),
48                ("task_call_func", models.TextField()),
49                ("task_call_args", models.JSONField(default=list)),
50                ("task_call_kwargs", models.JSONField(default=dict)),
51            ],
52            options={
53                "verbose_name": "System Task",
54                "verbose_name_plural": "System Tasks",
55                "permissions": [("run_task", "Run task")],
56                "default_permissions": ["view"],
57                "unique_together": {("name", "uid")},
58            },
59        ),
60    ]
class Migration(django.db.migrations.migration.Migration):
11class Migration(migrations.Migration):
12    dependencies = [
13        ("authentik_events", "0003_rename_tenant_event_brand"),
14    ]
15
16    operations = [
17        migrations.CreateModel(
18            name="SystemTask",
19            fields=[
20                (
21                    "expires",
22                    models.DateTimeField(default=authentik.core.models.default_token_duration),
23                ),
24                ("expiring", models.BooleanField(default=True)),
25                (
26                    "uuid",
27                    models.UUIDField(
28                        default=uuid.uuid4, editable=False, primary_key=True, serialize=False
29                    ),
30                ),
31                ("name", models.TextField()),
32                ("uid", models.TextField(null=True)),
33                ("start_timestamp", models.FloatField()),
34                ("finish_timestamp", models.FloatField()),
35                (
36                    "status",
37                    models.TextField(
38                        choices=[
39                            ("unknown", "Unknown"),
40                            ("successful", "Successful"),
41                            ("warning", "Warning"),
42                            ("error", "Error"),
43                        ]
44                    ),
45                ),
46                ("description", models.TextField(null=True)),
47                ("messages", models.JSONField()),
48                ("task_call_module", models.TextField()),
49                ("task_call_func", models.TextField()),
50                ("task_call_args", models.JSONField(default=list)),
51                ("task_call_kwargs", models.JSONField(default=dict)),
52            ],
53            options={
54                "verbose_name": "System Task",
55                "verbose_name_plural": "System Tasks",
56                "permissions": [("run_task", "Run task")],
57                "default_permissions": ["view"],
58                "unique_together": {("name", "uid")},
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_events', '0003_rename_tenant_event_brand')]
operations = [<CreateModel name='SystemTask', fields=[('expires', <django.db.models.fields.DateTimeField>), ('expiring', <django.db.models.fields.BooleanField>), ('uuid', <django.db.models.fields.UUIDField>), ('name', <django.db.models.fields.TextField>), ('uid', <django.db.models.fields.TextField>), ('start_timestamp', <django.db.models.fields.FloatField>), ('finish_timestamp', <django.db.models.fields.FloatField>), ('status', <django.db.models.fields.TextField>), ('description', <django.db.models.fields.TextField>), ('messages', <django.db.models.fields.json.JSONField>), ('task_call_module', <django.db.models.fields.TextField>), ('task_call_func', <django.db.models.fields.TextField>), ('task_call_args', <django.db.models.fields.json.JSONField>), ('task_call_kwargs', <django.db.models.fields.json.JSONField>)], options={'verbose_name': 'System Task', 'verbose_name_plural': 'System Tasks', 'permissions': [('run_task', 'Run task')], 'default_permissions': ['view'], 'unique_together': {('name', 'uid')}}>]