[ZODB-Dev] Migrating classes in ZODB 3.5.1

David Binger dbinger at mems-exchange.org
Wed Nov 9 11:56:33 EST 2005


On Nov 9, 2005, at 10:37 AM, Jeremy Hylton wrote:

> How do you find all the references?  It seems like you would need to
> execute a transaction that iterated over every object in the storage
> and searched the pickle for references to the class.

You do need to do this to find the references (using referencesf()?),
but it doesn't necessarily need to happen in one giant transaction.
The script just needs to (load and) re-pickle every instance with a  
reference
while the sys.modules hack is in place.  Commit each referring instance
in a new transaction if you like, and conflict errors should
not be a problem.

> I can imagine the update transaction taking a really long time to run,
> which increases the possibility that it will get a conflict error.
> Maybe it's a resolvable conflict, but not using the current mechanism.





More information about the ZODB-Dev mailing list