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.
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>>]