outten.net - random thoughts

Keeping up with CouchDB

I really like CouchDB and the flexibility it provides. It is currently under heavy development (the last release was an incubating release) and things are changing frequently. Most of the time, this means improvements or new features, but sometimes this leads to breaking backward compatibility. The other night I tried the latest clone of couchrest with this commit. I looked at the breaking changes page (based on the comment on the commit on github). I found the reference to the moved view URLs which was the problem I was having. After reading the discussion on the mailing list, it sounds like it is a good idea and is worth breaking backward compatibility.

To update to the latest version of CouchDB (basically working from the trunk), here are the steps I took:

  1. installed couchdb-python using this script
  2. dumped each database using the couchdb-python dump.py described in breaking changes
  3. shutdown couchdb and make a backup (for example, I tar’ed my /srv/cocuhdb directory)
  4. pull down the latest copy for couch from svn or github
  5. build and install CouchDB
  6. start the new version of CouchDB
  7. go into Futon (for example http://localhost:5984/_utils) and create each database
  8. load each database with load.py from couchdb-python again described in breaking changes

After upgrading CouchDB, I then had to update my application to use the latest couchrest.