1

在 EventFlow 应用程序中,我想完全删除一个聚合并将其所有事件转移到另一个。生成的聚合将具有与第一个聚合不同的名称、ID 和事件。

我找到有关使用 IEventUpgrader 类进行事件升级的文档,但它要求传入和生成的事件具有相同的聚合和 id 类,因此它不能解决我的问题。

浏览源代码我发现了“IEventUpgradeManager”类,看起来它可能有效,但我找不到任何关于它的文档。

我可以手动编辑数据库中每个事件的元数据,但这似乎不是一种可持续的方法。在这种情况下,正确的解决方案是什么?

4

1 回答 1

0

一旦您NewAggregate通过实现创建并使其使用相同的旧事件IAmReadModelFor<NewAggregate NewAggreagateId, EventForOldAggregate>,它不会被重新聚合吗?然后你可以OldAggregate从代码中删除以前的类,唯一的基础应该是数据库中的聚合快照,但是你可以在存储中识别这些并从那里删除(不知道你正在使用什么存储,但这要么是 RDBM 中的表,要么是集合在 NoSQL 中)。

于 2021-10-19T12:45:51.253 回答