authentik.rbac.migrations.0005_initialpermissions

 1# Generated by Django 5.0.13 on 2025-04-07 13:05
 2
 3import django.db.models.deletion
 4from django.db import migrations, models
 5
 6
 7class Migration(migrations.Migration):
 8
 9    dependencies = [
10        ("auth", "0012_alter_user_first_name_max_length"),
11        ("authentik_rbac", "0004_alter_systempermission_options"),
12    ]
13
14    operations = [
15        migrations.CreateModel(
16            name="InitialPermissions",
17            fields=[
18                (
19                    "id",
20                    models.AutoField(
21                        auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
22                    ),
23                ),
24                ("name", models.TextField(max_length=150, unique=True)),
25                ("mode", models.CharField(choices=[("user", "User"), ("role", "Role")])),
26                ("permissions", models.ManyToManyField(blank=True, to="auth.permission")),
27                (
28                    "role",
29                    models.ForeignKey(
30                        on_delete=django.db.models.deletion.CASCADE, to="authentik_rbac.role"
31                    ),
32                ),
33            ],
34            options={
35                "verbose_name": "Initial Permissions",
36                "verbose_name_plural": "Initial Permissions",
37            },
38        ),
39    ]
class Migration(django.db.migrations.migration.Migration):
 8class Migration(migrations.Migration):
 9
10    dependencies = [
11        ("auth", "0012_alter_user_first_name_max_length"),
12        ("authentik_rbac", "0004_alter_systempermission_options"),
13    ]
14
15    operations = [
16        migrations.CreateModel(
17            name="InitialPermissions",
18            fields=[
19                (
20                    "id",
21                    models.AutoField(
22                        auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
23                    ),
24                ),
25                ("name", models.TextField(max_length=150, unique=True)),
26                ("mode", models.CharField(choices=[("user", "User"), ("role", "Role")])),
27                ("permissions", models.ManyToManyField(blank=True, to="auth.permission")),
28                (
29                    "role",
30                    models.ForeignKey(
31                        on_delete=django.db.models.deletion.CASCADE, to="authentik_rbac.role"
32                    ),
33                ),
34            ],
35            options={
36                "verbose_name": "Initial Permissions",
37                "verbose_name_plural": "Initial Permissions",
38            },
39        ),
40    ]

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 = [('auth', '0012_alter_user_first_name_max_length'), ('authentik_rbac', '0004_alter_systempermission_options')]
operations = [<CreateModel name='InitialPermissions', fields=[('id', <django.db.models.fields.AutoField>), ('name', <django.db.models.fields.TextField>), ('mode', <django.db.models.fields.CharField>), ('permissions', <django.db.models.fields.related.ManyToManyField>), ('role', <django.db.models.fields.related.ForeignKey>)], options={'verbose_name': 'Initial Permissions', 'verbose_name_plural': 'Initial Permissions'}>]