fix(zopk): Prawidłowe nazwy kolumn w ZOPKKnowledgeRelation

Model używa entity_a_id/entity_b_id, nie source_entity_id/target_entity_id.

Naprawione miejsca:
- get_entity_merge_preview(): zliczanie relacji
- merge_entities(): przenoszenie relacji

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Maciej Pienczyn 2026-01-17 10:29:57 +01:00
parent 4dcfc1b8e8
commit 51378176c9

View File

@ -1836,19 +1836,19 @@ def merge_entities(
})
transfers['facts'] = result.rowcount
# 4. Transfer relations (source)
# 4. Transfer relations (entity_a)
result = db_session.execute(text("""
UPDATE zopk_knowledge_relations
SET source_entity_id = :primary_id
WHERE source_entity_id = :duplicate_id
SET entity_a_id = :primary_id
WHERE entity_a_id = :duplicate_id
"""), {'primary_id': primary_id, 'duplicate_id': duplicate_id})
transfers['relations_source'] = result.rowcount
# 5. Transfer relations (target)
# 5. Transfer relations (entity_b)
result = db_session.execute(text("""
UPDATE zopk_knowledge_relations
SET target_entity_id = :primary_id
WHERE target_entity_id = :duplicate_id
SET entity_b_id = :primary_id
WHERE entity_b_id = :duplicate_id
"""), {'primary_id': primary_id, 'duplicate_id': duplicate_id})
transfers['relations_target'] = result.rowcount
@ -1920,11 +1920,11 @@ def get_entity_merge_preview(
"""), {'entity_json': f'[{{"id": {duplicate_id}}}]'}).scalar() or 0
relations_source = db_session.query(func.count(ZOPKKnowledgeRelation.id)).filter(
ZOPKKnowledgeRelation.source_entity_id == duplicate_id
ZOPKKnowledgeRelation.entity_a_id == duplicate_id
).scalar() or 0
relations_target = db_session.query(func.count(ZOPKKnowledgeRelation.id)).filter(
ZOPKKnowledgeRelation.target_entity_id == duplicate_id
ZOPKKnowledgeRelation.entity_b_id == duplicate_id
).scalar() or 0
return {