mirror of https://github.com/zulip/zulip.git
migrations: Fix unnecessary loop in 0602.
This commit is contained in:
parent
7a53db8498
commit
c4f5cd6552
|
@ -3,7 +3,7 @@
|
||||||
from django.db import migrations, transaction
|
from django.db import migrations, transaction
|
||||||
from django.db.backends.base.schema import BaseDatabaseSchemaEditor
|
from django.db.backends.base.schema import BaseDatabaseSchemaEditor
|
||||||
from django.db.migrations.state import StateApps
|
from django.db.migrations.state import StateApps
|
||||||
from django.db.models import Max, Min, OuterRef
|
from django.db.models import Max, OuterRef
|
||||||
|
|
||||||
|
|
||||||
def remap_can_manage_all_groups_for_existing_realms(
|
def remap_can_manage_all_groups_for_existing_realms(
|
||||||
|
@ -11,19 +11,12 @@ def remap_can_manage_all_groups_for_existing_realms(
|
||||||
) -> None:
|
) -> None:
|
||||||
Realm = apps.get_model("zerver", "Realm")
|
Realm = apps.get_model("zerver", "Realm")
|
||||||
NamedUserGroup = apps.get_model("zerver", "NamedUserGroup")
|
NamedUserGroup = apps.get_model("zerver", "NamedUserGroup")
|
||||||
BATCH_SIZE = 1000
|
|
||||||
max_id = NamedUserGroup.objects.aggregate(Max("id"))["id__max"]
|
max_id = NamedUserGroup.objects.aggregate(Max("id"))["id__max"]
|
||||||
|
|
||||||
if max_id is None:
|
if max_id is None:
|
||||||
# Do nothing if there are no user groups on the server.
|
# Do nothing if there are no user groups on the server.
|
||||||
return
|
return
|
||||||
|
|
||||||
lower_bound = NamedUserGroup.objects.aggregate(Min("id"))["id__min"]
|
|
||||||
|
|
||||||
while lower_bound <= max_id:
|
|
||||||
upper_bound = lower_bound + BATCH_SIZE - 1
|
|
||||||
print(f"Processing batch {lower_bound} to {upper_bound} for NamedUserGroup")
|
|
||||||
|
|
||||||
with transaction.atomic():
|
with transaction.atomic():
|
||||||
# Since can_manage_group, can_add_members_group, etc. have
|
# Since can_manage_group, can_add_members_group, etc. have
|
||||||
# migrated to the nearest possible value from
|
# migrated to the nearest possible value from
|
||||||
|
@ -38,8 +31,6 @@ def remap_can_manage_all_groups_for_existing_realms(
|
||||||
).values("pk")
|
).values("pk")
|
||||||
)
|
)
|
||||||
|
|
||||||
lower_bound += BATCH_SIZE
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
class Migration(migrations.Migration):
|
||||||
atomic = False
|
atomic = False
|
||||||
|
|
Loading…
Reference in New Issue