mirror of
https://github.com/zadam/trilium.git
synced 2025-03-01 14:22:32 +01:00
added consistency check to reconcile erased status between entity_changes and data
This commit is contained in:
parent
1e8472266f
commit
10a5773c66
@ -538,6 +538,27 @@ class ConsistencyChecks {
|
|||||||
logError(`Unrecognized entity change id=${id}, entityName=${entityName}, entityId=${entityId}`);
|
logError(`Unrecognized entity change id=${id}, entityName=${entityName}, entityId=${entityId}`);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
this.findAndFixIssues(`
|
||||||
|
SELECT
|
||||||
|
id, entityId
|
||||||
|
FROM
|
||||||
|
entity_changes
|
||||||
|
JOIN ${entityName} ON entityId = ${key}
|
||||||
|
WHERE
|
||||||
|
entity_changes.isErased = 1
|
||||||
|
AND entity_changes.entityName = '${entityName}'`,
|
||||||
|
({id, entityId}) => {
|
||||||
|
if (this.autoFix) {
|
||||||
|
sql.execute(`DELETE FROM ${entityName} WHERE ${key} = ?`, [entityId]);
|
||||||
|
|
||||||
|
this.reloadNeeded = true;
|
||||||
|
|
||||||
|
logFix(`Erasing entityName=${entityName}, entityId=${entityId} since entity change id=${id} has it as erased.`);
|
||||||
|
} else {
|
||||||
|
logError(`Entity change id=${id} has entityName=${entityName}, entityId=${entityId} as erased, but it's not.`);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
findEntityChangeIssues() {
|
findEntityChangeIssues() {
|
||||||
@ -604,14 +625,14 @@ class ConsistencyChecks {
|
|||||||
this.fixedIssues = false;
|
this.fixedIssues = false;
|
||||||
this.reloadNeeded = false;
|
this.reloadNeeded = false;
|
||||||
|
|
||||||
|
this.findEntityChangeIssues();
|
||||||
|
|
||||||
this.findBrokenReferenceIssues();
|
this.findBrokenReferenceIssues();
|
||||||
|
|
||||||
this.findExistencyIssues();
|
this.findExistencyIssues();
|
||||||
|
|
||||||
this.findLogicIssues();
|
this.findLogicIssues();
|
||||||
|
|
||||||
this.findEntityChangeIssues();
|
|
||||||
|
|
||||||
this.findWronglyNamedAttributes();
|
this.findWronglyNamedAttributes();
|
||||||
|
|
||||||
this.findSyncIssues();
|
this.findSyncIssues();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user