couchdb-remove-conflicts
v1.0.1
Published
CLI tool to remove all conflicts from a CouchDB database
Downloads
4
Readme
couchdb-remove-conflicts
CLI tool to remove all conflicts from a CouchDB database
CLI Usage
# npm install --global couchdb-remove-conflicts
couchdb-remove-conflicts <url>
Module Usage
var couchdbRemoveConflicts = require('couchdb-remove-conflicts')
couchdbRemoveConflicts(url, function (error, result) {
if (error) {
throw error
}
console.log(result)
})
option
The <url>
CLI argument or couchdbRemoveConflicts(url, callback)
option must
be a URL of a CouchDB database or CouchDB root.
Examples
http://localhost:5984/dbname
deletes all conflicts indbname
http://username:[email protected]/dbname
deletes all conflicts indbname
, authenticates withusername:password
http://username:[email protected]
deletes all conflicts in all databases at the given CouchDB url
How it work
The url
option gets passed to nano. If
the url
is a CouchDB root, then all databases are fetched (one by one),
otherwise only the one for the passed URL.
For each database, all docs are fetched with ?include_docs=true&conflicts=true
and then separate DELETE /<dbname>/<docid>?rev=<rev>
requests are sent for
every conflict, with max. 100 requests at once.
TODOs
- [ ] add tests :)
- [ ] add options to limit series of
DELETE
requests and database handling - [ ] allow to pass in username & password as
{auth: { username, password } }
License
Apache-2