我正在尝试使用RailsEventStore构建CQRS和事件源的Rails 5.2.x应用程序。
现在,我想将事件流投影到关系模型中,理想情况下仅使用ActiveRecord和我也用于事件存储的PostgreSQL数据库。
在RailsEventStore的文档中,我只发现了即时的非持久性投影。
是否有可用于持续构建和更新事件流的关系表示的基础结构?它需要记住在应用程序重新启动时哪些事件已被应用到关系模型。
如果您知道该怎么做,请告诉我。
答案 0 :(得分:2)
RailsEventStore中没有开箱即用的后台进程来支持persistent projections,就像EventStore数据库一样。
不过,您可以将某些部分组合在一起以实现类似的目的-event handlers和linking。
我的同事拉法(Rafał)整理了几篇文章,记录了这种方法:
如果您希望将这样的投影作为单独的后台过程来实现,而不是依赖于事件处理程序(无论是否同步),那么Distributed RailsEventStore与PgLinearizedRepository可能是一个很好的起点。