authentik.events.migrations.0004_systemtask_squashed_0005_remove_systemtask_finish_timestamp_and_more

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

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.

replaces = [('authentik_events', '0004_systemtask'), ('authentik_events', '0005_remove_systemtask_finish_timestamp_and_more')]
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>), ('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>), ('duration', <django.db.models.fields.FloatField>), ('finish_timestamp', <django.db.models.fields.DateTimeField>), ('start_timestamp', <django.db.models.fields.DateTimeField>)], options={'verbose_name': 'System Task', 'verbose_name_plural': 'System Tasks', 'permissions': [('run_task', 'Run task')], 'default_permissions': ['view'], 'unique_together': {('name', 'uid')}}>]