from django.conf import settings from django.db import migrations, models def pin_existing_issuer(apps, schema_editor): # Upgrade with the same issuer that authenticated the existing subjects. Account = apps.get_model("members", "Account") Account.objects.using(schema_editor.connection.alias).filter( oidc_sub__isnull=False, ).update(oidc_issuer=settings.DEX_ISSUER) class Migration(migrations.Migration): dependencies = [("members", "0003_membership_levels")] operations = [ migrations.AlterField( model_name="account", name="ldap_dn", field=models.CharField(blank=True, max_length=1024), ), migrations.AlterField( model_name="account", name="ldap_uuid", field=models.CharField(blank=True, max_length=64, null=True, unique=True), ), migrations.AddField( model_name="account", name="oidc_issuer", field=models.CharField(blank=True, default="", max_length=2048), ), migrations.RunPython(pin_existing_issuer, migrations.RunPython.noop), ]