26 lines
902 B
SQL
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)
|
|
);
|