From 36b63d7cd9764f500c4503c10e7983eb0121f167 Mon Sep 17 00:00:00 2001 From: zhangzhanwei Date: Thu, 5 Feb 2026 11:41:47 +0800 Subject: [PATCH] fix: Migration --- ...lter_workspaceuserresourcepermission_target.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/apps/system_manage/migrations/0003_alter_workspaceuserresourcepermission_target.py b/apps/system_manage/migrations/0003_alter_workspaceuserresourcepermission_target.py index 6bc16bc8583..42b2630428e 100644 --- a/apps/system_manage/migrations/0003_alter_workspaceuserresourcepermission_target.py +++ b/apps/system_manage/migrations/0003_alter_workspaceuserresourcepermission_target.py @@ -1,4 +1,5 @@ # Generated by Django 5.2.6 on 2025-10-11 02:54 +from concurrent.futures import ThreadPoolExecutor from functools import reduce from django.db import migrations, models @@ -8,6 +9,13 @@ from common.utils.common import group_by +def workspace_user_role_mapping_model_exists(workspace_user_role_mapping_model): + try: + QuerySet(workspace_user_role_mapping_model).first() + except Exception as e: + return False + return False + def delete_auth(apps,folder_model): workspace_user_resource_permission_model = apps.get_model('system_manage', 'WorkspaceUserResourcePermission') QuerySet(workspace_user_resource_permission_model).filter(target__in=QuerySet(folder_model).values_list('id')).delete() @@ -35,6 +43,13 @@ def auth_folder(apps, schema_editor): workspace_user_resource_permission_model = apps.get_model('system_manage', 'WorkspaceUserResourcePermission') workspace_user_role_mapping_model = DatabaseModelManage.get_model("workspace_user_role_mapping") + + with ThreadPoolExecutor(max_workers=3) as executor: + future = executor.submit(workspace_user_role_mapping_model_exists, workspace_user_role_mapping_model) + exists = future.result() + if not exists: + workspace_user_role_mapping_model = None + if workspace_user_role_mapping_model is None: workspace_user_role_mapping_model_workspace_dict = { 'default': [WorkspaceUserRoleMapping('default', '', u.id) for u in QuerySet(user_model).all()]}