RailsEventStore 中的持久关系预测

Persistent relational projections in RailsEventStore

我正在尝试构建一个 CQRS 和事件源 Rails 5.2.x 使用 RailsEventStore 的应用程序。

现在我想将我的事件流投射到一个关系模型中,理想情况下只使用 ActiveRecord 和我也用于我的事件存储的 PostgreSQL 数据库。

在 RailsEventStore 的文档中,我只找到了即时的、非持久性的投影。

是否有任何基础设施可用于持续构建和更新事件流的关系表示?它需要记住哪些事件已经在应用程序重新启动时应用到关系模型。

如果你知道怎么做,请告诉我。

RailsEventStore 中没有 out-of-the-box 后台进程来支持 persistent projections 与 EventStore 数据库支持它们的方式相同。

然而,您可以将一些片段组合在一起以实现类似的效果 — event handlers and linking

我的同事 Rafał 整理了一些记录这种方法的帖子:

如果您想将此类投影实现为单独的后台进程,而不是依赖事件处理程序(无论是否同步),那么 Distributed RailsEventStore with PgLinearizedRepository 可能是一个很好的起点。