Data migration

Hi again!

I put all events into one stream. I want to have some kind of data versioning based on a stream name, e.g. data-1, data-2 etc.

What I wish was possible to do is to create an alias from data to data-x, that would allow the outside world to not need to know of the current stream name.

As I understand, this is not possible right now (the way it is possible e.g. in ElasticSearch with index aliases). So I tried to do this:

  • copy all events from data to data-1

  • hard-delete data

  • move back events from data-1 to data (possibly processing them along the way).

But the last step got me this error, from which I assume it’s not possible to hard-delete the stream and re-create it either:

Internal error
at EventStore.Projections.Core.Services.Processing.EmittedStream.SubmitWriteEvents () [0x00048] in <30c1c4d246424a9a82bddd760be78f73>:0 at EventStore.Projections.Core.Services.Processing.EmittedStream.SubmitWriteEventsInRecovery () 

So how would I solve this usecase of events migration without manually updating the correct name of the current stream?