Converting databases
I hope I'm not jumping the gun here, but I tested the first round of Jim's database conversion script today. The first run was not sucessful, due to the laxer nature of ZOSB2's transaction format. After scoping that bug, Jim fixed things so that my ZODB2 database converted cleanly into a ZODB3 one. The script can be found in the latest CVS in the utilities directory. The command is: python1.5.2 bbb.py -f input.database output.database We would like some people to test this against their ZODB2 databases, but PLEASE: - be careful. Back up *all* of your data to a safe place before attempting it. - report any conversion bugs or tracebacks to the list and support@digicool.com. We are interested in your experiences with the script. - we only recomment this for 2.0 alpha users who have a nice fat ZODB2 database they want to convert over. This is *not* stable software. This is the very first revision. It will probably break for some people, we want those people to help us improve it, but please come into the experiment with the intention that something will go wrong, and *send in those bug reports* we do pay attention to them. Thanks! -Michel
- report any conversion bugs or tracebacks to the list and support@digicool.com. We are interested in your experiences with the script.
- we only recomment this for 2.0 alpha users who have a nice fat ZODB2 database they want to convert over. This is *not* stable software. This is the very first revision. It will probably break for some people, we want those people to help us improve it, but please come into the experiment with the intention that something will go wrong, and *send in those bug reports* we do pay attention to them.
Here goes, Just back from my holiday, I ran it against my Zope 2 Data.bbb file (full of little experiments). After some churning I got the following traceback: Traceback (innermost last): File "../utilities/bbb.py", line 409, in ? _read_and_report(file, rpt, fromEnd, both, n, show) File "../utilities/bbb.py", line 211, in _read_and_report rpt(pos,oid,start,tname,user,t,p,first,tname!=tnamelast) File "../utilities/FS.py", line 124, in rpt self.store(oid, p) File "../utilities/FS.py", line 136, in store data=fixpickle(data, oid) File "../utilities/FS.py", line 369, in fixpickle pickler.dump(unpickler.load()) File "/usr/local/lib/python1.5/pickle.py", line 495, in load dispatch[key](self) File "../utilities/FS.py", line 280, in load_global klass = _global(module, name) File "../utilities/FS.py", line 240, in _global raise 'Unexpected BoboPOS class', (m, n) Unexpected BoboPOS class: ('BoboPOS.cPickleJar', 'ec') I am left with a 85833 byte Data.fs file. This file is useable, but contains nothing more then the QuickStart folder that I had left intact in my ZODB2 install. Do you need the Data.bbb and resulting Data.fs files? Shall I tarball them to Jim? -- Martijn Pieters, Web Developer | Antraciet http://www.antraciet.nl | Tel: +31-35-7502100 Fax: +31-35-7502111 | mailto:mj@antraciet.nl http://www.antraciet.nl/~mj | PGP: http://wwwkeys.nl.pgp.net:11371/pks/lookup?op=get&search=0xA8A32149 ------------------------------------------
Martijn Pieters wrote:
- report any conversion bugs or tracebacks to the list and support@digicool.com. We are interested in your experiences with the script.
- we only recomment this for 2.0 alpha users who have a nice fat ZODB2 database they want to convert over. This is *not* stable software. This is the very first revision. It will probably break for some people, we want those people to help us improve it, but please come into the experiment with the intention that something will go wrong, and *send in those bug reports* we do pay attention to them.
Here goes,
Just back from my holiday, I ran it against my Zope 2 Data.bbb file (full of little experiments).
After some churning I got the following traceback:
Traceback (innermost last): File "../utilities/bbb.py", line 409, in ? _read_and_report(file, rpt, fromEnd, both, n, show) File "../utilities/bbb.py", line 211, in _read_and_report rpt(pos,oid,start,tname,user,t,p,first,tname!=tnamelast) File "../utilities/FS.py", line 124, in rpt self.store(oid, p) File "../utilities/FS.py", line 136, in store data=fixpickle(data, oid) File "../utilities/FS.py", line 369, in fixpickle pickler.dump(unpickler.load()) File "/usr/local/lib/python1.5/pickle.py", line 495, in load dispatch[key](self) File "../utilities/FS.py", line 280, in load_global klass = _global(module, name) File "../utilities/FS.py", line 240, in _global raise 'Unexpected BoboPOS class', (m, n) Unexpected BoboPOS class: ('BoboPOS.cPickleJar', 'ec')
I am left with a 85833 byte Data.fs file. This file is useable, but contains nothing more then the QuickStart folder that I had left intact in my ZODB2 install.
Do you need the Data.bbb and resulting Data.fs files? Shall I tarball them to Jim?
Nah, the traceback is enough in this case. Thanks! Jim -- Jim Fulton mailto:jim@digicool.com Python Powered! Technical Director (888) 344-4332 http://www.python.org Digital Creations http://www.digicool.com http://www.zope.org Under US Code Title 47, Sec.227(b)(1)(C), Sec.227(a)(2)(B) This email address may not be added to any commercial mail list with out my permission. Violation of my privacy with advertising or SPAM will result in a suit for a MINIMUM of $500 damages/incident, $1500 for repeats.
Jim Fulton wrote:
Martijn Pieters wrote:
- report any conversion bugs or tracebacks to the list and support@digicool.com. We are interested in your experiences with the script.
- we only recomment this for 2.0 alpha users who have a nice fat ZODB2 database they want to convert over. This is *not* stable software. This is the very first revision. It will probably break for some people, we want those people to help us improve it, but please come into the experiment with the intention that something will go wrong, and *send in those bug reports* we do pay attention to them.
Here goes,
Just back from my holiday, I ran it against my Zope 2 Data.bbb file (full of little experiments).
(snip)
Do you need the Data.bbb and resulting Data.fs files? Shall I tarball them to Jim?
Nah, the traceback is enough in this case. Thanks!
I just checked in a fix for this and another problem. Jim -- Jim Fulton mailto:jim@digicool.com Python Powered! Technical Director (888) 344-4332 http://www.python.org Digital Creations http://www.digicool.com http://www.zope.org Under US Code Title 47, Sec.227(b)(1)(C), Sec.227(a)(2)(B) This email address may not be added to any commercial mail list with out my permission. Violation of my privacy with advertising or SPAM will result in a suit for a MINIMUM of $500 damages/incident, $1500 for repeats.
I just checked in a fix for this and another problem.
Jim
Works like a charm. Only 100Kb larger (from 1516802 to 1616076 bytes) =). Any chance there'll be a progress indicator? -- Martijn Pieters, Web Developer | Antraciet http://www.antraciet.nl | Tel: +31-35-7502100 Fax: +31-35-7502111 | mailto:mj@antraciet.nl http://www.antraciet.nl/~mj | PGP: http://wwwkeys.nl.pgp.net:11371/pks/lookup?op=get&search=0xA8A32149 ------------------------------------------
Martijn Pieters wrote:
I just checked in a fix for this and another problem.
Jim
Works like a charm. Only 100Kb larger (from 1516802 to 1616076 bytes) =).
Any chance there'll be a progress indicator?
Sure, send me a patch. ;) Jim -- Jim Fulton mailto:jim@digicool.com Python Powered! Technical Director (888) 344-4332 http://www.python.org Digital Creations http://www.digicool.com http://www.zope.org Under US Code Title 47, Sec.227(b)(1)(C), Sec.227(a)(2)(B) This email address may not be added to any commercial mail list with out my permission. Violation of my privacy with advertising or SPAM will result in a suit for a MINIMUM of $500 damages/incident, $1500 for repeats.
Hello! On Mon, 21 Jun 1999, Jim Fulton wrote:
Any chance there'll be a progress indicator? Sure, send me a patch. ;)
Sorry, I am a little late in this discussion - I haven't tried Zope2 yet and I didn't see conversion program. But if it is command-line - I can give a ProgressBar object, and someone will put it into the program. I wrote the object 6 or 7 years ago in Pascal, 3 years ago I rewrote it in Python, and I use it in many command-line programs for DOS and UNIX.
Jim
-- Jim Fulton mailto:jim@digicool.com Python Powered! Technical Director (888) 344-4332 http://www.python.org Digital Creations http://www.digicool.com http://www.zope.org
Oleg. ---- Oleg Broytmann Netskate/Inter.Net.Ru phd@emerald.netskate.ru Programmers don't die, they just GOSUB without RETURN.
michel@digicool.com wrote:
I hope I'm not jumping the gun here,
Well, yes, a little. There are some problems I wanted to deal with today based on initial testing.... But since the news is out, I'll certainly welcome any feedback. Note that I plan to make an 2.0 alpha 3 release today that has the conversion script and that will incorporate bug fixes I make today. Jim -- Jim Fulton mailto:jim@digicool.com Python Powered! Technical Director (888) 344-4332 http://www.python.org Digital Creations http://www.digicool.com http://www.zope.org Under US Code Title 47, Sec.227(b)(1)(C), Sec.227(a)(2)(B) This email address may not be added to any commercial mail list with out my permission. Violation of my privacy with advertising or SPAM will result in a suit for a MINIMUM of $500 damages/incident, $1500 for repeats.
michel@digicool.com wrote:
I hope I'm not jumping the gun here, but I tested the first round of Jim's database conversion script today. The first run was not sucessful, due to the laxer nature of ZOSB2's transaction format. After scoping that bug, Jim fixed things so that my ZODB2 database converted cleanly into a ZODB3 one.
The script can be found in the latest CVS in the utilities directory. The command is:
python1.5.2 bbb.py -f input.database output.database
Note that this should be: python1.5.2 bbb.py -f output.database input.database -- Jim Fulton mailto:jim@digicool.com Python Powered! Technical Director (888) 344-4332 http://www.python.org Digital Creations http://www.digicool.com http://www.zope.org Under US Code Title 47, Sec.227(b)(1)(C), Sec.227(a)(2)(B) This email address may not be added to any commercial mail list with out my permission. Violation of my privacy with advertising or SPAM will result in a suit for a MINIMUM of $500 damages/incident, $1500 for repeats.
participants (4)
-
Jim Fulton -
Martijn Pieters -
michel@digicool.com -
Oleg Broytmann