Migrating an event store

We’re looking into using Event Store Replicator (https://replicator.eventstore.org) to migrate our event store to a new server.

One thing I’m not sure about is how to deal with projections. We have our “bread and butter” event stream (ie., donor-123456), and then projections that write to other streams.

While doing the migration, should we be turning off projections? If don’t, will we wind up with duplicate events?

Yes, you’ll need to stop the projections at some point. Honestly, I haven’t tested it. I can try, not sure when exactly.

actually, thinking about this again? Would it really create duplicate events?

the donor-123456 event would be in the donor-123456, stream and the $ce-donor stream, but is that two events? I imagine if I was listening to the $all stream, I’d only see it once?

Well, you haven’t specified what projections you mean. If these are custom projections that emit events, replicator will copy those events. It will not, however, copy links. So yes, you’re right, in case of system projections there’s no need to disable them. And, you’d need to enable them on the other side, so links will be re-produced.