authentik.core.migrations.0046_session_and_more
1# Generated by Django 5.0.11 on 2025-01-27 12:58 2 3import uuid 4from django.db import migrations, models 5import django.db.models.deletion 6from django.conf import settings 7 8 9class Migration(migrations.Migration): 10 11 dependencies = [ 12 ("sessions", "0001_initial"), 13 ("authentik_core", "0045_rename_new_identifier_usersourceconnection_identifier_and_more"), 14 ("authentik_providers_oauth2", "0027_accesstoken_authentik_p_expires_9f24a5_idx_and_more"), 15 ("authentik_providers_rac", "0006_connectiontoken_authentik_p_expires_91f148_idx_and_more"), 16 ] 17 18 operations = [ 19 # Rename AuthenticatedSession to OldAuthenticatedSession 20 migrations.RenameModel( 21 old_name="AuthenticatedSession", 22 new_name="OldAuthenticatedSession", 23 ), 24 migrations.RenameIndex( 25 model_name="oldauthenticatedsession", 26 new_name="authentik_c_expires_cf4f72_idx", 27 old_name="authentik_c_expires_08251d_idx", 28 ), 29 migrations.RenameIndex( 30 model_name="oldauthenticatedsession", 31 new_name="authentik_c_expirin_c1f17f_idx", 32 old_name="authentik_c_expirin_9cd839_idx", 33 ), 34 migrations.RenameIndex( 35 model_name="oldauthenticatedsession", 36 new_name="authentik_c_expirin_e04f5d_idx", 37 old_name="authentik_c_expirin_195a84_idx", 38 ), 39 migrations.RenameIndex( 40 model_name="oldauthenticatedsession", 41 new_name="authentik_c_session_a44819_idx", 42 old_name="authentik_c_session_d0f005_idx", 43 ), 44 migrations.RunSQL( 45 sql="ALTER INDEX authentik_core_authenticatedsession_user_id_5055b6cf RENAME TO authentik_core_oldauthenticatedsession_user_id_5055b6cf", 46 reverse_sql="ALTER INDEX authentik_core_oldauthenticatedsession_user_id_5055b6cf RENAME TO authentik_core_authenticatedsession_user_id_5055b6cf", 47 ), 48 # Create new Session and AuthenticatedSession models 49 migrations.CreateModel( 50 name="Session", 51 fields=[ 52 ( 53 "session_key", 54 models.CharField( 55 max_length=40, primary_key=True, serialize=False, verbose_name="session key" 56 ), 57 ), 58 ("expires", models.DateTimeField(default=None, null=True)), 59 ("expiring", models.BooleanField(default=True)), 60 ("session_data", models.BinaryField(verbose_name="session data")), 61 ("last_ip", models.GenericIPAddressField()), 62 ("last_user_agent", models.TextField(blank=True)), 63 ("last_used", models.DateTimeField(auto_now=True)), 64 ], 65 options={ 66 "default_permissions": [], 67 "verbose_name": "Session", 68 "verbose_name_plural": "Sessions", 69 }, 70 ), 71 migrations.AddIndex( 72 model_name="session", 73 index=models.Index(fields=["expires"], name="authentik_c_expires_d2f607_idx"), 74 ), 75 migrations.AddIndex( 76 model_name="session", 77 index=models.Index(fields=["expiring"], name="authentik_c_expirin_7c2cfb_idx"), 78 ), 79 migrations.AddIndex( 80 model_name="session", 81 index=models.Index( 82 fields=["expiring", "expires"], name="authentik_c_expirin_1ab2e4_idx" 83 ), 84 ), 85 migrations.AddIndex( 86 model_name="session", 87 index=models.Index( 88 fields=["expires", "session_key"], name="authentik_c_expires_c49143_idx" 89 ), 90 ), 91 migrations.CreateModel( 92 name="AuthenticatedSession", 93 fields=[ 94 ( 95 "session", 96 models.OneToOneField( 97 on_delete=django.db.models.deletion.CASCADE, 98 primary_key=True, 99 serialize=False, 100 to="authentik_core.session", 101 ), 102 ), 103 ("uuid", models.UUIDField(default=uuid.uuid4, unique=True)), 104 ( 105 "user", 106 models.ForeignKey( 107 on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL 108 ), 109 ), 110 ], 111 options={ 112 "verbose_name": "Authenticated Session", 113 "verbose_name_plural": "Authenticated Sessions", 114 }, 115 ), 116 ]
class
Migration(django.db.migrations.migration.Migration):
10class Migration(migrations.Migration): 11 12 dependencies = [ 13 ("sessions", "0001_initial"), 14 ("authentik_core", "0045_rename_new_identifier_usersourceconnection_identifier_and_more"), 15 ("authentik_providers_oauth2", "0027_accesstoken_authentik_p_expires_9f24a5_idx_and_more"), 16 ("authentik_providers_rac", "0006_connectiontoken_authentik_p_expires_91f148_idx_and_more"), 17 ] 18 19 operations = [ 20 # Rename AuthenticatedSession to OldAuthenticatedSession 21 migrations.RenameModel( 22 old_name="AuthenticatedSession", 23 new_name="OldAuthenticatedSession", 24 ), 25 migrations.RenameIndex( 26 model_name="oldauthenticatedsession", 27 new_name="authentik_c_expires_cf4f72_idx", 28 old_name="authentik_c_expires_08251d_idx", 29 ), 30 migrations.RenameIndex( 31 model_name="oldauthenticatedsession", 32 new_name="authentik_c_expirin_c1f17f_idx", 33 old_name="authentik_c_expirin_9cd839_idx", 34 ), 35 migrations.RenameIndex( 36 model_name="oldauthenticatedsession", 37 new_name="authentik_c_expirin_e04f5d_idx", 38 old_name="authentik_c_expirin_195a84_idx", 39 ), 40 migrations.RenameIndex( 41 model_name="oldauthenticatedsession", 42 new_name="authentik_c_session_a44819_idx", 43 old_name="authentik_c_session_d0f005_idx", 44 ), 45 migrations.RunSQL( 46 sql="ALTER INDEX authentik_core_authenticatedsession_user_id_5055b6cf RENAME TO authentik_core_oldauthenticatedsession_user_id_5055b6cf", 47 reverse_sql="ALTER INDEX authentik_core_oldauthenticatedsession_user_id_5055b6cf RENAME TO authentik_core_authenticatedsession_user_id_5055b6cf", 48 ), 49 # Create new Session and AuthenticatedSession models 50 migrations.CreateModel( 51 name="Session", 52 fields=[ 53 ( 54 "session_key", 55 models.CharField( 56 max_length=40, primary_key=True, serialize=False, verbose_name="session key" 57 ), 58 ), 59 ("expires", models.DateTimeField(default=None, null=True)), 60 ("expiring", models.BooleanField(default=True)), 61 ("session_data", models.BinaryField(verbose_name="session data")), 62 ("last_ip", models.GenericIPAddressField()), 63 ("last_user_agent", models.TextField(blank=True)), 64 ("last_used", models.DateTimeField(auto_now=True)), 65 ], 66 options={ 67 "default_permissions": [], 68 "verbose_name": "Session", 69 "verbose_name_plural": "Sessions", 70 }, 71 ), 72 migrations.AddIndex( 73 model_name="session", 74 index=models.Index(fields=["expires"], name="authentik_c_expires_d2f607_idx"), 75 ), 76 migrations.AddIndex( 77 model_name="session", 78 index=models.Index(fields=["expiring"], name="authentik_c_expirin_7c2cfb_idx"), 79 ), 80 migrations.AddIndex( 81 model_name="session", 82 index=models.Index( 83 fields=["expiring", "expires"], name="authentik_c_expirin_1ab2e4_idx" 84 ), 85 ), 86 migrations.AddIndex( 87 model_name="session", 88 index=models.Index( 89 fields=["expires", "session_key"], name="authentik_c_expires_c49143_idx" 90 ), 91 ), 92 migrations.CreateModel( 93 name="AuthenticatedSession", 94 fields=[ 95 ( 96 "session", 97 models.OneToOneField( 98 on_delete=django.db.models.deletion.CASCADE, 99 primary_key=True, 100 serialize=False, 101 to="authentik_core.session", 102 ), 103 ), 104 ("uuid", models.UUIDField(default=uuid.uuid4, unique=True)), 105 ( 106 "user", 107 models.ForeignKey( 108 on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL 109 ), 110 ), 111 ], 112 options={ 113 "verbose_name": "Authenticated Session", 114 "verbose_name_plural": "Authenticated Sessions", 115 }, 116 ), 117 ]
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 =
[('sessions', '0001_initial'), ('authentik_core', '0045_rename_new_identifier_usersourceconnection_identifier_and_more'), ('authentik_providers_oauth2', '0027_accesstoken_authentik_p_expires_9f24a5_idx_and_more'), ('authentik_providers_rac', '0006_connectiontoken_authentik_p_expires_91f148_idx_and_more')]
operations =
[<RenameModel old_name='AuthenticatedSession', new_name='OldAuthenticatedSession'>, <RenameIndex model_name='oldauthenticatedsession', new_name='authentik_c_expires_cf4f72_idx', old_name='authentik_c_expires_08251d_idx'>, <RenameIndex model_name='oldauthenticatedsession', new_name='authentik_c_expirin_c1f17f_idx', old_name='authentik_c_expirin_9cd839_idx'>, <RenameIndex model_name='oldauthenticatedsession', new_name='authentik_c_expirin_e04f5d_idx', old_name='authentik_c_expirin_195a84_idx'>, <RenameIndex model_name='oldauthenticatedsession', new_name='authentik_c_session_a44819_idx', old_name='authentik_c_session_d0f005_idx'>, <RunSQL sql='ALTER INDEX authentik_core_authenticatedsession_user_id_5055b6cf RENAME TO authentik_core_oldauthenticatedsession_user_id_5055b6cf', reverse_sql='ALTER INDEX authentik_core_oldauthenticatedsession_user_id_5055b6cf RENAME TO authentik_core_authenticatedsession_user_id_5055b6cf'>, <CreateModel name='Session', fields=[('session_key', <django.db.models.fields.CharField>), ('expires', <django.db.models.fields.DateTimeField>), ('expiring', <django.db.models.fields.BooleanField>), ('session_data', <django.db.models.fields.BinaryField>), ('last_ip', <django.db.models.fields.GenericIPAddressField>), ('last_user_agent', <django.db.models.fields.TextField>), ('last_used', <django.db.models.fields.DateTimeField>)], options={'default_permissions': [], 'verbose_name': 'Session', 'verbose_name_plural': 'Sessions'}>, <AddIndex model_name='session', index=<Index: fields=['expires'] name='authentik_c_expires_d2f607_idx'>>, <AddIndex model_name='session', index=<Index: fields=['expiring'] name='authentik_c_expirin_7c2cfb_idx'>>, <AddIndex model_name='session', index=<Index: fields=['expiring', 'expires'] name='authentik_c_expirin_1ab2e4_idx'>>, <AddIndex model_name='session', index=<Index: fields=['expires', 'session_key'] name='authentik_c_expires_c49143_idx'>>, <CreateModel name='AuthenticatedSession', fields=[('session', <django.db.models.fields.related.OneToOneField>), ('uuid', <django.db.models.fields.UUIDField>), ('user', <django.db.models.fields.related.ForeignKey>)], options={'verbose_name': 'Authenticated Session', 'verbose_name_plural': 'Authenticated Sessions'}>]