Вы не можете ..... Cirqus очень строг относительно своих порядковых номеров, чтобы гарантировать, что совокупные корни гидратированы до правильного состояния и невозможно гидратировать в какое-то состояние, в котором они никогда не были
Это означает, что если вам нужно «удалить» события, вы не можете просто удалить события из хранилища событий.
Я пробовал однажды, что некоторая логика пошла наперекосяк и случайно сгенерировала 50000 событий во время работы системы, и пользователи продолжали работать, а затем мы удалили путем репликации событий (используя EventReplicator
) в новый магазин событий, украсив destination IEventStore
с «переписывающим», который затем игнорирует определенные события и переписывает все порядковые номера по мере необходимости.
Было довольно трудно получить право, хотя.
Вам действительно нужно удалить события? Не можете ли вы, например. добавить некоторые корректирующие события в потоки событий проблемных совокупных корней?