[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