On 6 November 2012 05:00, Kevin Burton <[email protected]> wrote: > I would like to clear all documents out of the database. What would be a > command that would do that? I can remove an individual document but I am not > sure how to remove all documents. >
Hi Kevin, As CouchDB stores versions of every document change (until after compaction) what you've asked for is *only* achievable by the CouchDB equivalent of "DROP TABLE, CREATE TABLE". You can delete all the documents but the db will retain, even after compaction, stubs of the old document versions. This cruft is what gives CouchDB its superior replication powers, so it's necessary. Without these stubs, the DB has no way of comparing doc versions from another DB instance, and knowing which are common, and which should be the leaf versions to expose as conflicts: http://guide.couchdb.org/draft/conflicts.html Deleting a DB using the HTTP API, with basic authentication, is as easy as : $ curl -Hcontent-type:application/json -vX PUT http://admin:password@localhost:5984/newdb * About to connect() to localhost port 5984 (#0) * Trying ::1... * Connection refused * Trying 127.0.0.1... * connected * Connected to localhost (127.0.0.1) port 5984 (#0) * Server auth using Basic with user 'admin' > PUT /newdb HTTP/1.1 > Authorization: Basic YWRtaW46cGFzc3dk > User-Agent: curl/7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 > OpenSSL/0.9.8r zlib/1.2.5 > Host: localhost:5984 > Accept: */* > content-type:application/json > < HTTP/1.1 201 Created < Server: CouchDB/1.3.0a- (Erlang OTP/R15B02) < Location: http://localhost:5984/newdb < Date: Tue, 06 Nov 2012 08:21:10 GMT < Content-Type: text/plain; charset=utf-8 < Content-Length: 12 < Cache-Control: must-revalidate < {"ok":true} * Connection #0 to host localhost left intact * Closing connection #0 $ curl -Hcontent-type:application/json -vX DELETE http://admin:password@localhost:5984/newdb * About to connect() to localhost port 5984 (#0) * Trying ::1... * Connection refused * Trying 127.0.0.1... * connected * Connected to localhost (127.0.0.1) port 5984 (#0) * Server auth using Basic with user 'admin' > DELETE /newdb HTTP/1.1 > Authorization: Basic YWRtaW46cGFzc3dk > User-Agent: curl/7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 > OpenSSL/0.9.8r zlib/1.2.5 > Host: localhost:5984 > Accept: */* > content-type:application/json > < HTTP/1.1 200 OK < Server: CouchDB/1.3.0a- (Erlang OTP/R15B02) < Date: Tue, 06 Nov 2012 08:21:18 GMT < Content-Type: text/plain; charset=utf-8 < Content-Length: 12 < Cache-Control: must-revalidate < {"ok":true} * Connection #0 to host localhost left intact * Closing connection #0 Possibly a little too easy. A+ Dave
