mirror of https://github.com/jumpserver/jumpserver
perf: migrations automationexecution type
parent
94e8c62953
commit
f513eb62a6
|
@ -1,16 +1,27 @@
|
|||
# Generated by Django 4.1.13 on 2025-03-13 09:14
|
||||
|
||||
import time
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
def migrate_execution_type(apps, schema_editor):
|
||||
count = 0
|
||||
bulk_size = 1000
|
||||
while True:
|
||||
start = time.time()
|
||||
execution_model = apps.get_model('assets', 'AutomationExecution')
|
||||
execution_objs = []
|
||||
for execution in execution_model.objects.all():
|
||||
executions = execution_model.objects.all()[count:count + bulk_size]
|
||||
if not executions:
|
||||
break
|
||||
for execution in executions:
|
||||
snapshot = execution.snapshot
|
||||
execution.type = snapshot.get('type', '')
|
||||
execution_objs.append(execution)
|
||||
execution_model.objects.bulk_update(execution_objs, ['type'])
|
||||
print("\tUpdate rexecutions: {}-{} using: {:.2f}s".format(
|
||||
count, count + len(executions), time.time() - start
|
||||
))
|
||||
count += len(executions)
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
|
Loading…
Reference in New Issue