[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