Skip to content

Migrate into CouchDB

Tested with: CouchDB 3.5 on Databasezy · zb CLI 0.1

Sources: Self-hosted CouchDB (any reachable server), another Databasezy instance.

The migration Job copies over the CouchDB HTTP API: per database it creates the database, copies _security, pages _all_docs?include_docs=true (attachments included) and writes _bulk_docs with new_edits=false, so document revisions are kept and later _replicate runs between the two stay incremental. Name a database in the URL path to copy only that one.

shell
# --dry-run prints the preflight checklist and the exact plan without changing anything
zb migrate --from "https://admin:[email protected]:5984" --engine couchdb --to inst_abc
zb migrate --from "https://admin:[email protected]:5984/orders" --engine couchdb --to inst_abc # one database

Follow it with zb migrate status <mig_id>, or in the portal under the instance’s Migrate in tab.

doc_count per database and a hash of the design documents. Mismatches are listed in the result; nothing is switched for you.

  • Only the winning revision of each document is copied (no conflicts or revision history).
  • System databases (_users, _replicator, _global_changes) are not copied.
  • Copy only; for a live tail afterwards, start a _replicate from the source to the instance yourself.

How migrations work covers preflight, verification and cutover; engine conversions covers moves between engines.