I'm hoping that someone can help us understand what is going on here -
though if it's the wrong list please let me know :-). Although the
context is zope, the nub of the issue seems to be ZODB-related.
We needed to recover some old data that had been deleted from a
FileStorage and wrote a small "zopectl" script to do this:
- we started zope with "zopectl debug";
- we used zc.beforestorage to open a separate COPY of the database at
an earlier data;
- we located the objects in the old copy;
- we attempted to insert a copy of the OLD object into the current
database (following zope's _getCopy method):
container = app.new_folder
- this seemed to work fine, but when I go to commit, I get an error:
(from ZODB.serialize.py - line 350)
"A new object is reachable from multiple databases. "
"Won't try to guess which one was correct!"
Can anyone shed any light on what this error means?! Given a persistent
object, what is the correct way to get a completely fresh copy that is
not tied to any database at all, so I can transfer these old objects to
the current database.
Thanks for your help!
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org