Skip to content

Commit 66a95d1

Browse files
authored
fix: File migration error (#4557)
1 parent df6e9ae commit 66a95d1

File tree

1 file changed

+30
-21
lines changed

1 file changed

+30
-21
lines changed

apps/system_manage/migrations/0005_resourcemapping.py

Lines changed: 30 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -15,29 +15,38 @@ def resource_mapping(apps, schema_editor):
1515
from application.models import Application
1616
from knowledge.models import KnowledgeWorkflow
1717
resource_mapping_list = []
18-
for application in QuerySet(Application):
19-
workflow_mapping = get_workflow_resource(application.work_flow,
20-
get_node_handle_callback(ResourceType.APPLICATION,
21-
application.id))
22-
instance_mapping = get_instance_resource(application, ResourceType.APPLICATION, str(application.id),
23-
ResourceType.MODEL,
24-
[lambda i: i.tts_model_id, lambda i: i.stt_model_id, ])
25-
resource_mapping_list += workflow_mapping
26-
resource_mapping_list += instance_mapping
27-
knowledge_workflow_dict = {str(kw.knowledge_id): kw for kw in QuerySet(KnowledgeWorkflow)}
28-
for knowledge in QuerySet(Knowledge):
29-
knowledge_workflow = knowledge_workflow_dict.get(str(knowledge.id))
30-
if knowledge_workflow:
31-
workflow_mapping = get_workflow_resource(knowledge_workflow.work_flow,
32-
get_node_handle_callback(ResourceType.KNOWLEDGE,
33-
str(knowledge_workflow.knowledge_id)))
18+
ids = list(Application.objects.values_list('id', flat=True))
19+
for app_id in ids:
20+
try:
21+
application = Application.objects.get(id=app_id)
22+
workflow_mapping = get_workflow_resource(application.work_flow,
23+
get_node_handle_callback(ResourceType.APPLICATION,
24+
application.id))
25+
instance_mapping = get_instance_resource(application, ResourceType.APPLICATION, str(application.id),
26+
ResourceType.MODEL,
27+
[lambda i: i.tts_model_id, lambda i: i.stt_model_id, ])
3428
resource_mapping_list += workflow_mapping
35-
instance_mapping = get_instance_resource(knowledge, ResourceType.KNOWLEDGE, str(knowledge.id),
36-
ResourceType.MODEL,
37-
[lambda i: i.embedding_model_id])
38-
39-
resource_mapping_list += instance_mapping
29+
resource_mapping_list += instance_mapping
30+
except:
31+
continue
32+
knowledge_ids = list(Knowledge.objects.values_list('id', flat=True))
33+
for knowledge_id in knowledge_ids:
34+
try:
35+
knowledge = Knowledge.objects.get(id=knowledge_id)
36+
if knowledge.type == 4:
37+
knowledge_workflow = QuerySet(KnowledgeWorkflow).filter(knowledge_id=knowledge_id).first()
38+
if knowledge_workflow:
39+
workflow_mapping = get_workflow_resource(knowledge_workflow.work_flow,
40+
get_node_handle_callback(ResourceType.KNOWLEDGE,
41+
str(knowledge_workflow.knowledge_id)))
42+
resource_mapping_list += workflow_mapping
43+
instance_mapping = get_instance_resource(knowledge, ResourceType.KNOWLEDGE, str(knowledge.id),
44+
ResourceType.MODEL,
45+
[lambda i: i.embedding_model_id])
4046

47+
resource_mapping_list += instance_mapping
48+
except:
49+
continue
4150
QuerySet(ResourceMapping).bulk_create(resource_mapping_list)
4251

4352

0 commit comments

Comments
 (0)