On Nov 30, 2005, at 3:05 PM, Duncan McGreggor wrote:

On Nov 30, 2005, at 12:49 PM, Chris McDonough wrote:

As we move towards another iteration, if I need to, while I'm writing code, I write evolution scripts that are capable of fixing ZODB data in place between milestone revisions of code. I happen to know exactly when I need to do this, because I've been working with ZODB for many years. Other developers working with me do the same.

Awesome email, Chris -- thanks for sharing!

Actually, egads, rereading it, I think I may have sounded like a bit of a prick, but glad you got some value! ;-)

In particular, I am tantalized by the paragraph above ;-) As I alluded in a previous post, this has been a very painful point for myself an other developers with whom I have worked. For one client, we used the CMFPlone.MigrationTool on a Zope2/Plone project where content addition was occurring throughout the development phase. I found the tool cumbersome and the whole process most painful and distasteful.

I haven't used that particular tool..

Do you employ an analogous tool or elegant manual approach for z3 projects? If you have no tool, have you guys compiled a best practices doc (informal or otherwise) whereby those of us inexperienced in these particulars could benefit?

Tools do exist. Last year, Jim was nice enough to finish the "generations" machinery for Z3 which to my knowledge currently ships with Zope 3. You can take a look at it at http://svn.zope.org/Zope3/ trunk/src/zope/app/generations/ . I created a Zope 2 product that used this machinery at the time... it's available via http:// cvs.zope.org/Products/zzz_generations/ . Docs are pretty slim for the Z2 version, so it's not immediately useful, but if you can figure out how to register a product with an initial version, it becomes useful thereafter. I use zopectl debug to do that myself. ;-)

The nice thing about this kind of tool is that there is exactly one action for its UI consumers to take: upgrade. The only way they can screw it up is to *not* do that.

- C
Zope3-users mailing list

Reply via email to