从 prooph 事件商店获取当前编号

Get current no from prooph event store

我尝试更新来自事件存储的投影。以下行将加载所有事件:

$events = $this->eventStore->load(new StreamName('mystream'));

目前我尝试通过传递 fromNumber 参数只加载未处理的事件:

$events = $this->eventStore->load(new StreamName('mystream'), 10);

这将加载所有事件,例如从 15 到 40。但我无法确定哪个是结果的 current/highest "no"。但这对我来说是必要的,下次只从这个条目加载。

如果数据库被截断(重新启动序列),这不是真正的问题,因为我知道事件将从 1 开始。但是如果主键以大于 1 的数字开始,则无法确定是哪个事件在事件存储中有哪个号码

当您使用 pdo-event-store 时,您在加载后的事件元数据中有一个键 _position,因此您的读取模型可以跟踪您上次处理的位置。除此之外,如果您正在使用 proophs 事件存储预测,则根本不需要处理它。投影仪将在内部跟踪所有需要的流的当前事件位置,您只需要为每个需要做某事的事件提供回调。