Files
iqudo-top1/migrations/000002_bind_knowledge_versions.up.sql
2026-08-09 00:29:26 +08:00

26 lines
902 B
SQL

UPDATE sop_nodes n
JOIN sop_versions sv ON sv.id = n.sop_version_id
SET n.config = JSON_SET(
n.config,
'$.knowledge_card_version_id',
(
SELECT kv.id
FROM knowledge_card_versions kv
WHERE kv.tenant_id = n.tenant_id
AND kv.knowledge_card_id = CAST(JSON_UNQUOTE(JSON_EXTRACT(n.config, '$.knowledge_card_id')) AS UNSIGNED)
AND kv.created_at <= COALESCE(sv.published_at, sv.updated_at)
ORDER BY kv.version DESC
LIMIT 1
)
)
WHERE n.type = 'knowledge'
AND JSON_EXTRACT(n.config, '$.knowledge_card_version_id') IS NULL
AND JSON_EXTRACT(n.config, '$.knowledge_card_id') IS NOT NULL
AND EXISTS (
SELECT 1
FROM knowledge_card_versions kv
WHERE kv.tenant_id = n.tenant_id
AND kv.knowledge_card_id = CAST(JSON_UNQUOTE(JSON_EXTRACT(n.config, '$.knowledge_card_id')) AS UNSIGNED)
AND kv.created_at <= COALESCE(sv.published_at, sv.updated_at)
);