-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Dieter Maurer wrote: > Chris S wrote at 2006-9-3 15:40 -0400: >> Is there a standard procedure for dealing with fundamental changes to >> classes? For instance, how do you make a ZODB cope with a class being >> renamed, or being placed in a different location? How will it know >> that oldmod.myclass == newmod.myclass? > > It does not. > > You can use so called "module aliases" to partially cope > with module relocation and "class aliases" to cope with class renaming. > Otherwise, you have to use migration scripts that physically > recreate the objects (and the references to it!) with the new classes.
As an example of "module aliases" (which Zope handles for its own add-ons), you could do something like (untested):: # BBB for renamed module import new, sys oldmod = new.module('oldmod') oldmod.myclass = MyClass sys.modules['oldmod'] = oldmod Class renames are simpler, often just adding the old name immediately below the renamed class:: class UsedToBeFoo: pass Foo = UsedToBeFoo # BBB for renamed class Tres. - -- =================================================================== Tres Seaver +1 202-558-7113 [EMAIL PROTECTED] Palladion Software "Excellence by Design" http://palladion.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.2 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFE/HPR+gerLs4ltQ4RAvcVAKCtLWdte6VqfLC6NO/x2wnK+S2orQCgqER6 XR+/tdjt4Z/aleFo8ZVqg2k= =p+ki -----END PGP SIGNATURE----- _______________________________________________ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org http://mail.zope.org/mailman/listinfo/zodb-dev