https://github.com/gr2m/couchdb-remove-conflicts
CLI tool to remove all conflicts from a CouchDB database
https://github.com/gr2m/couchdb-remove-conflicts
Last synced: about 1 year ago
JSON representation
CLI tool to remove all conflicts from a CouchDB database
- Host: GitHub
- URL: https://github.com/gr2m/couchdb-remove-conflicts
- Owner: gr2m
- Created: 2015-12-02T21:42:25.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2021-03-05T06:40:01.000Z (over 5 years ago)
- Last Synced: 2025-04-21T03:28:11.036Z (about 1 year ago)
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/couchdb-remove-conflicts
- Size: 7.81 KB
- Stars: 5
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# couchdb-remove-conflicts
> CLI tool to remove all conflicts from a CouchDB database
## CLI Usage
```bash
# npm install --global couchdb-remove-conflicts
couchdb-remove-conflicts
```
## Module Usage
```js
var couchdbRemoveConflicts = require('couchdb-remove-conflicts')
couchdbRemoveConflicts(url, function (error, result) {
if (error) {
throw error
}
console.log(result)
})
```
## option
The `` 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 in `dbname`
- `http://username:password@couch.example.com/dbname`
deletes all conflicts in `dbname`, authenticates with `username:password`
- `http://username:password@couch.example.com`
deletes all conflicts in all databases at the given CouchDB url
## How it work
The `url` option gets passed to [nano](https://github.com/dscape/nano#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 //?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