A dedicated one-shot mode (
bootstrap and exit) is a planned engine
capability and is not in the released binary yet. The pattern below
achieves a one-time copy with the shipped engine today.The pattern today
A one-time copy is the zero-downtime migration flow, stopped early:- Run the pipeline with
bootstrap: mode: snapshot. The engine captures a cursor, streams every existing row through your projection into the target at bulk speed, then switches to tailing. - Wait for the tail to catch up (cursor age near zero) — this guarantees rows written during the copy were also delivered, which a plain dump script cannot promise.
- Stop the engine. The target now holds a complete, consistent copy as of the moment you stopped.
Verifying the copy
Before declaring the migration done:- Compare source row count with target document count (deterministic ids mean one row → one document; no duplicates to distort the count).
- Spot-check recently-written rows — anything committed before you stopped the engine must be present.
- The engine’s delivery counters (
events_delivered_total, dlq0) confirm nothing was routed to the dead-letter queue.