Files
ZelWiki/ZelWiki.Repository/Scripts/PurgeOrphanedPageAttachments.sql
2025-02-23 18:47:21 +08:00

26 lines
580 B
SQL

BEGIN TRANSACTION;
DELETE FROM PageFileRevision
WHERE (PageFileId, Revision) IN (
SELECT
PFR.PageFileId,
PFR.Revision
FROM
PageFileRevision as PFR
INNER JOIN PageFile as PF
ON PF.Id = PFR.PageFileId
INNER JOIN Page as P
ON P.Id = PF.PageId
LEFT OUTER JOIN PageRevisionAttachment as PRA
ON PRA.PageFileId = PFR.PageFileId
AND PRA.FileRevision = PFR.Revision
WHERE
PRA.PageFileId IS NULL
);
DELETE FROM PageFile
WHERE Id NOT IN (SELECT PageFileId FROM PageFileRevision);
COMMIT TRANSACTION