On Sun, 2003-12-14 at 23:02, Chris McDonough wrote:
Here's an idea: create a simple script that manufactured a module which set up the Zope configuration, "filled in" for BTree in sys.modules, and got a hold of Zope.app(), causing ZGlobals to be replaced by a new-style BTree due to the above magic. People upgrading to 2.8 with databases created by Zope versions older than 2.3 would still need to run convertBTrees inside a different Zope version, but people upgrading databases created in versions equalling or later than 2.3 wouldn't because we stopped using the old BTree module for anything except ZGlobals after 2.3 AFAICT.
Actually, given my findings later in this email, this isn't even necessary. If it's sensible to turn the inheritance ordering around for the EC-based persistent mapping, it appears that no conversion script needs be run at all. We might catch the error and report it more nicely in checkGlobalRegistry, but that's all that needs be done by programmers and users need do nothing except copy their database over. - C