Hi, list.

While I am happy to be learning Couch for a new project, I am still unsure about some tricks that I used with Django and Rails, such as data migration:

For example, suppose I change my code and instead of using a string timestamp in my documents, I would prefer a hash with "day", "month", and "year" keys. When I deploy the new code into production, obviously I want the data structures to change for all existing documents.

So my question is: What is the preferred or recommended method to do this? So far, the only thing I can think of is to write some client code to do the following:

1. Fetch _all_docs
2. For each document that requires changing, modify it
3. Either PUT the new documents up one by one, or POST them to _bulk_docs, depending on the situation.

This solution doesn't strike me as particularly horrible, but I was wondering if there is a better way, perhaps something server-side. I have looked around couchdb-python, couchrest, and couchapp but i don't think see this kind of code. (Maybe it "smells" too Railsy, I don't know.) Anyway, if my approach is reasonable, then I'll be happy to send a patch/GitHub pull request upstream to couchapp if would help others.

--
Jason Smith
Proven Corporation
Bangkok, Thailand
http://www.proven-corporation.com

Reply via email to