fix(km): reconcile typed knowledge metadata

This commit is contained in:
Your Name
2026-07-19 01:17:02 +08:00
parent 4944d40b10
commit 8a01c62416
2 changed files with 10 additions and 0 deletions

View File

@@ -328,9 +328,11 @@ class KnowledgeDBRepository:
set_={
"title": data.title,
"content": data.content,
"category": data.category,
"tags": data.tags,
"status": _knowledge_enum_db_value(data.status),
"related_approval_id": data.related_approval_id,
"related_playbook_id": data.related_playbook_id,
},
)
.returning(KnowledgeEntryRecord.id)

View File

@@ -327,6 +327,14 @@ async def test_idempotent_create_reads_back_published_with_enum_safe_projection(
)
assert entry.status is EntryStatus.PUBLISHED
upsert_sql = str(
db.statements[0].compile(
dialect=postgresql.dialect(),
)
).lower()
update_clause = upsert_sql.split("do update set", 1)[1]
assert "category =" in update_clause
assert "related_playbook_id =" in update_clause
readback_sql = str(
db.statements[1].compile(
dialect=postgresql.dialect(),