清除旧数据的能力

Ability to purge old data

是否可以清除 Javers 中的历史数据?

假设我没有兴趣保留任何超过一年(一个月等)的审计数据。

我在 Javers 中找不到任何类似的 API,但至少理论上有可能从 SQL 存储或 Mongo 数据库中手动删除旧记录吗? Javers API 会继续以可预测的方式工作吗?

JaVers 中没有此类功能,但您可以使用数据库脚本清除数据。我没有测试它,但我认为不会发生任何不好的事情。 应按时间顺序删除提交。在 SQL 存储库中,提交保存在三个表中,因此:

delete from jv_commit_property where commit_fk < x;
delete from jv_snapshot where commit_fk < x;
delete from jv_commit where commit_pk < x;

我发现对于 MongoDB 您可以删除 jv_snapshots 集合中的文档,但是您必须确保对于 each globalId_key,版本号最低的是INITIAL类型。否则,当尝试读取此 golbalId_key.

的快照时,javers 将失败并出现异常