[ZODB-Dev] ZODB migration to Zope 2.8 (was: 0 is not really equal to my object)

Christian Heimes christian at cheimes.de
Thu Feb 10 21:07:04 EST 2005


Hey! :)

Tim has invited me to zodb-dev to discuss the issues.

 >> The database format hasn't changed, but some classes no longer appear
 >> where they used to appear, making some older pickles unloadable.  In
 >>fact, a Collector issue was opened about that earlier today:
 >>
 >>     http://zope.org/Collectors/Zope/1695
 >>
 >> Like `intSet` plain doesn't exist anymore (along with the rest of
 >> the old BTree implementation), and PersistentMapping seems to live
 >> under `persistent.mapping` now.
 >>
 >> Don't know what to do about those; don't know why it took so long
 >> for anyone to notice, either.

I started playing around with Zope2 svn trunk some days ago when I hit 
the problem. I had CMF, Plone, Archetypes 1.4-dev and an older version 
of kupu installed in my instance home and got some import errors. At 
first Archetypes didn't load because someone has used IOBTree instead of 
BTrees.IOBTree in one module. Next kupu failed to load because the 
plonetool of kupu was trying to import PersistentList (or mapping?) from 
ZODB.

"Well, two missing modules ... so there might be even more missing 
modules" I thought and compared Zope 2.7 to 2.8. That is the story how I 
found the remaining missing modules.

By the way there are more issues regarding Zope 2.7 -> 2.8 migration. I 
tried to use a database from 2.7 and got this:

   http://zope.org/Collectors/Zope/1696

 > It takes someone using a very old version of Zope or
 > a very old database to encounter them. Perhaps Tiran has some
 > 3rd-part software that is using these.  Module aliases won't
 > fix the problem, BTW.  We need to pursue this further with Tiran.

Is there another clean and nice way to migrate old databases with 
pickles that point to non-existing classes because they were moved or 
renamed? I've used module aliases or sys.modules in the past but it is 
looking a little bit hacky to me.

Christian


More information about the ZODB-Dev mailing list