authentik.enterprise.migrations.0003_remove_licenseusage_within_limits_and_more
1# Generated by Django 5.0.8 on 2024-08-08 14:15 2 3from django.db import migrations, models 4from django.apps.registry import Apps 5from django.db.backends.base.schema import BaseDatabaseSchemaEditor 6 7 8def migrate_license_usage(apps: Apps, schema_editor: BaseDatabaseSchemaEditor): 9 LicenseUsage = apps.get_model("authentik_enterprise", "licenseusage") 10 db_alias = schema_editor.connection.alias 11 12 for usage in LicenseUsage.objects.using(db_alias).all(): 13 usage.status = "valid" if usage.within_limits else "limit_exceeded_admin" 14 usage.save() 15 16 17class Migration(migrations.Migration): 18 19 dependencies = [ 20 ("authentik_enterprise", "0002_rename_users_license_internal_users_and_more"), 21 ] 22 23 operations = [ 24 migrations.AddField( 25 model_name="licenseusage", 26 name="status", 27 field=models.TextField( 28 choices=[ 29 ("unlicensed", "Unlicensed"), 30 ("valid", "Valid"), 31 ("expired", "Expired"), 32 ("expiry_soon", "Expiry Soon"), 33 ("limit_exceeded_admin", "Limit Exceeded Admin"), 34 ("limit_exceeded_user", "Limit Exceeded User"), 35 ("read_only", "Read Only"), 36 ], 37 default=None, 38 null=True, 39 ), 40 preserve_default=False, 41 ), 42 migrations.RunPython(migrate_license_usage), 43 migrations.RemoveField( 44 model_name="licenseusage", 45 name="within_limits", 46 ), 47 migrations.AlterField( 48 model_name="licenseusage", 49 name="status", 50 field=models.TextField( 51 choices=[ 52 ("unlicensed", "Unlicensed"), 53 ("valid", "Valid"), 54 ("expired", "Expired"), 55 ("expiry_soon", "Expiry Soon"), 56 ("limit_exceeded_admin", "Limit Exceeded Admin"), 57 ("limit_exceeded_user", "Limit Exceeded User"), 58 ("read_only", "Read Only"), 59 ], 60 ), 61 preserve_default=False, 62 ), 63 migrations.RenameField( 64 model_name="licenseusage", 65 old_name="user_count", 66 new_name="internal_user_count", 67 ), 68 ]
def
migrate_license_usage( apps: django.apps.registry.Apps, schema_editor: django.db.backends.base.schema.BaseDatabaseSchemaEditor):
9def migrate_license_usage(apps: Apps, schema_editor: BaseDatabaseSchemaEditor): 10 LicenseUsage = apps.get_model("authentik_enterprise", "licenseusage") 11 db_alias = schema_editor.connection.alias 12 13 for usage in LicenseUsage.objects.using(db_alias).all(): 14 usage.status = "valid" if usage.within_limits else "limit_exceeded_admin" 15 usage.save()
class
Migration(django.db.migrations.migration.Migration):
18class Migration(migrations.Migration): 19 20 dependencies = [ 21 ("authentik_enterprise", "0002_rename_users_license_internal_users_and_more"), 22 ] 23 24 operations = [ 25 migrations.AddField( 26 model_name="licenseusage", 27 name="status", 28 field=models.TextField( 29 choices=[ 30 ("unlicensed", "Unlicensed"), 31 ("valid", "Valid"), 32 ("expired", "Expired"), 33 ("expiry_soon", "Expiry Soon"), 34 ("limit_exceeded_admin", "Limit Exceeded Admin"), 35 ("limit_exceeded_user", "Limit Exceeded User"), 36 ("read_only", "Read Only"), 37 ], 38 default=None, 39 null=True, 40 ), 41 preserve_default=False, 42 ), 43 migrations.RunPython(migrate_license_usage), 44 migrations.RemoveField( 45 model_name="licenseusage", 46 name="within_limits", 47 ), 48 migrations.AlterField( 49 model_name="licenseusage", 50 name="status", 51 field=models.TextField( 52 choices=[ 53 ("unlicensed", "Unlicensed"), 54 ("valid", "Valid"), 55 ("expired", "Expired"), 56 ("expiry_soon", "Expiry Soon"), 57 ("limit_exceeded_admin", "Limit Exceeded Admin"), 58 ("limit_exceeded_user", "Limit Exceeded User"), 59 ("read_only", "Read Only"), 60 ], 61 ), 62 preserve_default=False, 63 ), 64 migrations.RenameField( 65 model_name="licenseusage", 66 old_name="user_count", 67 new_name="internal_user_count", 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.
operations =
[<AddField model_name='licenseusage', name='status', field=<django.db.models.fields.TextField>, preserve_default=False>, <RunPython <function migrate_license_usage>>, <RemoveField model_name='licenseusage', name='within_limits'>, <AlterField model_name='licenseusage', name='status', field=<django.db.models.fields.TextField>, preserve_default=False>, <RenameField model_name='licenseusage', old_name='user_count', new_name='internal_user_count'>]