我尝试更新事件存储中的投影。以下行将加载所有事件:
$events = $this->eventStore->load(new StreamName('mystream'));
目前我尝试通过传递fromNumber参数来加载仅未处理的事件:
$events = $this->eventStore->load(new StreamName('mystream'), 10);
这将加载所有事件,例如从15到40。但是我发现没有办法弄清楚哪个是结果的当前/最高“否”。但是这对于我下次只从这个条目加载是必要的。
如果数据库被截断(重启序列),这不是一个真正的问题,因为我知道事件将从1开始。但是如果主键以高于1的数字开头,则无法确定哪个事件具有哪个事件存储中的号码
答案 0 :(得分:1)
当您使用pdo-event-store时,加载后事件元数据中有一个键• No explicit implementation for
either ‘showsPrec’ or ‘Prelude.show’
• In the instance declaration for ‘Show Nat’
|
| > instance Show Nat where | ^^^^^^^^
,因此您的读取模型可以跟踪您最后一个工作位置。除此之外,如果你正在使用proophs事件商店预测,你根本不需要照顾它。投影机将在内部跟踪所有所需流的当前事件位置,您只需为需要执行某些操作的每个事件提供回调。