RailsEventStore中的持久关系投影

时间:2019-07-10 15:33:11

标签: ruby-on-rails ruby cqrs event-sourcing rails-event-store

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

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

在RailsEventStore的文档中,我只发现了即时的非持久性投影。

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

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

1 个答案:

答案 0 :(得分:2)

RailsEventStore中没有开箱即用的后台进程来支持persistent projections,就像EventStore数据库一样。

不过,您可以将某些部分组合在一起以实现类似的目的-event handlerslinking

我的同事拉法(Rafał)整理了几篇文章,记录了这种方法:

如果您希望将这样的投影作为单独的后台过程来实现,而不是依赖于事件处理程序(无论是否同步),那么Distributed RailsEventStorePgLinearizedRepository可能是一个很好的起点。