authentik.policies.reputation.migrations.0002_auto_20210529_2046

 1# Generated by Django 3.2.3 on 2021-05-29 20:46
 2
 3from django.apps.registry import Apps
 4from django.db import migrations, models
 5from django.db.backends.base.schema import BaseDatabaseSchemaEditor
 6
 7
 8def migrate_to_username(apps: Apps, schema_editor: BaseDatabaseSchemaEditor):
 9    db_alias = schema_editor.connection.alias
10
11    UserReputation = apps.get_model("authentik_policies_reputation", "userreputation")
12    for rep in UserReputation.objects.using(db_alias).all():
13        rep.username = rep.user.username
14        rep.save()
15
16
17class Migration(migrations.Migration):
18    dependencies = [
19        ("authentik_policies_reputation", "0001_initial"),
20    ]
21
22    operations = [
23        migrations.AddField(
24            model_name="userreputation",
25            name="username",
26            field=models.TextField(default=""),
27            preserve_default=False,
28        ),
29        migrations.RunPython(migrate_to_username),
30        migrations.RemoveField(
31            model_name="userreputation",
32            name="user",
33        ),
34        migrations.AlterField(
35            model_name="userreputation",
36            name="username",
37            field=models.TextField(),
38        ),
39    ]
def migrate_to_username( apps: django.apps.registry.Apps, schema_editor: django.db.backends.base.schema.BaseDatabaseSchemaEditor):
 9def migrate_to_username(apps: Apps, schema_editor: BaseDatabaseSchemaEditor):
10    db_alias = schema_editor.connection.alias
11
12    UserReputation = apps.get_model("authentik_policies_reputation", "userreputation")
13    for rep in UserReputation.objects.using(db_alias).all():
14        rep.username = rep.user.username
15        rep.save()
class Migration(django.db.migrations.migration.Migration):
18class Migration(migrations.Migration):
19    dependencies = [
20        ("authentik_policies_reputation", "0001_initial"),
21    ]
22
23    operations = [
24        migrations.AddField(
25            model_name="userreputation",
26            name="username",
27            field=models.TextField(default=""),
28            preserve_default=False,
29        ),
30        migrations.RunPython(migrate_to_username),
31        migrations.RemoveField(
32            model_name="userreputation",
33            name="user",
34        ),
35        migrations.AlterField(
36            model_name="userreputation",
37            name="username",
38            field=models.TextField(),
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 = [('authentik_policies_reputation', '0001_initial')]
operations = [<AddField model_name='userreputation', name='username', field=<django.db.models.fields.TextField>, preserve_default=False>, <RunPython <function migrate_to_username>>, <RemoveField model_name='userreputation', name='user'>, <AlterField model_name='userreputation', name='username', field=<django.db.models.fields.TextField>>]