Skip to main content
The sync table has no row for this pipe id, but tracked tables still hold data from a prior run. Restarting from the initial cursor would re-process every block and duplicate every row, so the target refuses to start. Fix — if you deliberately reset the sync table, also TRUNCATE/drop the tracked tables it names. If you’re upgrading from a pre-id-keyed cursor, keep the old cursor by pinning settings: { state: { id: 'stream' } } — see the migration guide.