Manually fix broken document relations in database
Find documents which have relations to other documents which already were deleted
Sometimes documents link to other documents but the links are invalid because the linked document is not available anymore. We can manually reset those links only because there is no working mechanism yet.
Get all relations with their id's
SELECT
R.rel_id_c,
F.doc_title_c "From",
T.doc_title_c "To"
FROM
t_relation AS R
JOIN t_document AS T ON R.rel_iddocfrom_c = T.doc_id_c
JOIN t_document AS F ON R.rel_iddocto_c = F.doc_id_c
WHERE
R.rel_deletedate_d IS NULL AND
T.doc_deletedate_d IS NOT NULL AND
F.doc_deletedate_d IS NULL
UNION
SELECT
R.rel_id_c,
T.doc_title_c "From",
F.doc_title_c "To"
FROM
t_relation AS R
JOIN t_document AS T ON R.rel_iddocfrom_c = T.doc_id_c
JOIN t_document AS F ON R.rel_iddocto_c = F.doc_id_c
WHERE
R.rel_deletedate_d IS NULL AND
T.doc_deletedate_d IS NULL AND
F.doc_deletedate_d IS NOT NULL
ORDER BY "From"
;
Now we just set the delete flag of the relation to a date not NULL so it will unshow in Teedy visually. That will remove invalid links.
update t_relation SET rel_deletedate_d = NOW() WHERE rel_id_c IN ('your relation id 1', 'your relation id 2', .. , 'your relation id n');
Keine Kommentare