[ZODB-Dev] copy routine: ZODB => local file system
Jim Fulton
jim at zope.com
Sun May 6 03:22:36 EDT 2007
On May 5, 2007, at 4:48 PM, Dennis Allison wrote:
>
> Has anyone written a utility that copies out the content of a ZODB
> file
> (in my case, a Zope Data.fs) and stores it in the local file system in
> some rational way?
>
> Zope does not solve the problem because the backing Relational DBMS is
> unavailable and the ZODB and the RDBMS are closely tied.
Hm, so I take that to mean that you can't start Zope or load the
objects in ZODB (in Zope or even from a Python prompt).
I suggest you use zope.xmlpickle, http://svn.zope.org/zope.xmlpickle/
trunk/, along with the file storage iterator or the file-storage
record iterator, which only iterates over current versions, to
convert the database records to XML. The XML pickler tries to
produce usable, for some definition of usable, XML without knowing
anything about the data. A good XML hacker should be able to convert
the XML to some more directly usable format. We've had good success
using xml pickles for a couple of projects in recent years. For
example, xml pickles were used to export the Zope 3 collector for
import to Launchpad.
I really should write some utilities that put the iterators and xml
pickler together, although it shouldn't be hard.
Jim
--
Jim Fulton mailto:jim at zope.com Python Powered!
CTO (540) 361-1714 http://www.python.org
Zope Corporation http://www.zope.com http://www.zope.org
More information about the ZODB-Dev
mailing list