如何在维护元数据的同时复制RailsEventStore事件

时间:2018-02-15 20:28:03

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

场景是我有两个ActiveModel:InvitationGuest。 我已经在邀请的事件流中发布了一系列事件,并且在某些时候接受了邀请,随后创建了一个访客。我想将邀请事件流上的事件复制到访客的事件流中。

我曾想过使用dup原始事件进行复制,将流字段更新为访客的事件流,但这会违反event_id字段的唯一约束。所以我希望EventStore的publish机制能够处理事件的持久性。

我想过将原始事件的data属性复制到事件的新实例并使用publish但我会获得元数据(request_id,{ {1}},remote_ip)对事件不反映原始事件的事件,这对于保持可听性非常重要。

是否有一些技术可以执行这种RailsEventStore事件的传输/复制?

1 个答案:

答案 0 :(得分:1)

有一种技术-链接。在最新的Rails Event Store版本(自v0.22.0起)中,您可以将现有事件链接到其他流:https://railseventstore.org/docs/link/。它保留了数据和元数据。