CQRS/ESAR删除命令

CQRS/ES AR deletion command

假设我有一个事件源博客引擎应用程序,我可以在其中创建、发布和取消发布 posts...我现在想知道如何实现 post删除命令。我应该创建一个 post 删除事件,将其存储在事件存储中,然后监听该事件以删除投影,还是应该完全删除 post,包括该事件中的所有相关事件店铺?第二种解决方案的问题是我无法回滚删除,而且我很确定从事件存储中删除事件对于事件源应用程序来说是一个非常糟糕的做法。

感谢您的指教。

如果您在使用事件溯源的域中,可能是因为时间查询具有商业价值,那么您可能需要软删除,而不是实际销毁您积累的历史记录。

另请参阅:Don't Delete -- Just Don't