zulip/zerver/migrations/0029_realm_subdomain.py

36 lines
1.1 KiB
Python

from django.conf import settings
from django.core.exceptions import ObjectDoesNotExist
from django.db import migrations, models
from django.db.backends.postgresql.schema import BaseDatabaseSchemaEditor
from django.db.migrations.state import StateApps
def set_subdomain_of_default_realm(
apps: StateApps, schema_editor: BaseDatabaseSchemaEditor
) -> None:
if settings.DEVELOPMENT:
Realm = apps.get_model("zerver", "Realm")
try:
default_realm = Realm.objects.get(domain="zulip.com")
except ObjectDoesNotExist:
default_realm = None
if default_realm is not None:
default_realm.subdomain = "zulip"
default_realm.save()
class Migration(migrations.Migration):
dependencies = [
("zerver", "0001_initial"),
]
operations = [
migrations.AddField(
model_name="realm",
name="subdomain",
field=models.CharField(max_length=40, unique=True, null=True),
),
migrations.RunPython(set_subdomain_of_default_realm, elidable=True),
]