On Thu, Apr 8, 2010 at 12:53 PM, faust 1111 <[email protected]> wrote: > What difference? > if do > Author > after_save > if name_changed? > Content.by_author(self).each {|content| > content.author_name = self.name; > content.save(bulk=true) > } > > or i start backend process to track Author _changes. > > This code not guarantee that all contents will updated.
I don't get your question. You asked how to make sure that you could change a number of documents consistently, we suggested that you watch _changes to catch any silly race conditions. Then, you told us you didn't need to use _changes, but you were worried that things would be inconsistent. Even with your code above, you get a race condition (if I understand your ruby right, I don't know ruby much at all). Something could happen between when you check to see if a document needs to be changed and the actual change occurs. Then, you're gonna get a conflict and have to write up the logic to handle that intelligently. best, Andrew > > 2010/4/8 Andrew Melo <[email protected]>: >> On Thu, Apr 8, 2010 at 12:29 PM, faust 1111 <[email protected]> wrote: >>> I can catch changes in my app before save author, may be backend >>> process is surplus in my case. >>> i need consistent, when i update author name i must know that all >>> contents with author was updated success. >> >> Then their suggestion of watching _changes works for you. Start >> watching _changes. Make all your changes to the documents' authors. >> Any changes that come through on _changes, make sure they have the >> proper author. Keep watching _changes until you're sure that nobody >> has stale data they're waiting submit. >> >> >>> >>> >>> 2010/4/8 Zachary Zolton <[email protected]>: >>>> I suggest you check out the _changes API: >>>> http://books.couchdb.org/relax/reference/change-notifications >>>> >>>> Basically, if you have doc types A & B, where B maintains a denormed >>>> bit of A, then you can watch the _changes feed in a backend process. >>>> When an A gets updated, hit a view of all B's related to that >>>> particular A, and update the dernomed data. >>>> >>>> On Thu, Apr 8, 2010 at 10:20 AM, faust 1111 <[email protected]> wrote: >>>>> Hi guy's >>>>> I return back to my problem with denormalization. >>>>> >>>>> is it possible to keep consistent when apply denormalization? >>>>> For example >>>>> Content >>>>> have author (we store author name and id in Content) >>>>> >>>>> When author name changed(that's happens not frequently) >>>>> i need find all content belong to this author and update author name >>>>> but what if this operation not finished (not all docs was updated) >>>>> >>>>> What i can do in this case? >>>>> Thanks. >>>>> >>>> >>> >> >> >> >> -- >> -- >> Andrew Melo >> > -- -- Andrew Melo
