Jonas Nielsen wrote at 2007-1-12 11:18 +0100:
.... I have ported a zope product running on zope 2.5.1 to zope 2.9. The application works fine with no error messages in the log. ... File "/usr/lib/zope2.9/lib/python/Products/ZCatalog/Catalog.py", line 383, in uncatalogObject rid = uids.get(uid, None) AttributeError: get
It is possible that you catalogs are ancient? Even older than Zope 2.5.1? Efficient mappings (such as those needed for the catalog data structures) were implemented originally by "BTree" classes. Later, "BTree" functionality was reimplemented and improved in the "BTrees" package. In Zope 2.8, "BTree" support was dropped (as Zope's base class "ExtensionClass" was rewritten as a new style Python class and porting the old "BTree" package would have been additional effort). Apparently, you catalogs still use the old "BTree" package -- at least this would give error messages such as the above. If I am right and your are interested in keeping your catalog rather than just rebuilding it in the new instance, then you would need to migrate the old "BTree" objects into new "BTrees" objects *IN THE OLD* instance. After that, you can move the storage. -- Dieter