Jim Fulton wrote:
There's also a problem that we made cross-database references so easy to
make that they are made accidentally.
There's also no way to say "actually, I want to *move* this object to
this other storage.
Semantically, that's what my customer was trying to do...
make them more explicit, at least optionally. I think where people have
gotten into trouble is where they've mounted content trees into other
content trees and then moved objects between trees creating
cross-database references accidentally.
Bingo. I should note that while I often make use of mounted storages for
1. More control over object cache contents
2. Different packing schedules for different sections of the tree
(ie: imported content is packed to nothing straight away, other stuff
is never packed if I can help it)
...I rarely create cross-database references.
In the longer term, multi-database GC is an option. I believe this will
That would be handy, as would multi-database Undo as you mentioned later
in the thread.
Simplistix - Content Management, Zope & Python Consulting
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org