Hi everyone, I've never used CouchDB before, and I'm considering using it for a new project of mine. I have a couple of questions about it. (Note that I'm a database noob in general.)
I'm thinking of making a desktop app that syncs with a Django app. I want the Django app to have a database, and the desktop app to have one too, which would have the same data. The hard part is that I want to be able to work with the desktop app while offline, so I'll be writing changes to the database, and then later when it's online it'll sync the two databases together. Is that something that CouchDB can handle? If so, two questions: 1. What happens on merge fails? (i.e. when the two masters wrote data that contradicts each other.) I'd want to have a manual resolve, but what would be the interface to resolving it? 2. I'm assuming that CouchDB works by keeping a log of all transactions made to the database. I want to provide undo functionality to the program using this log of transactions. (i.e. every undo would look at the last transaction and create a transaction that's the reverse of it.) This means I need each transaction to save the old data, and I need the possibility to access the transaction table. Is this possible? Thanks for your help, Ram.
