Package: zodbtools
This repository provides a set of handy ZODB utilities. We initially tried to
put them into ZODB itself, but Jim Fultonadvicednot to load ZODB with
scripts anymore. So we are here:zodb analyze- analyze ZODB database or repozo deltafs usage.zodb cmp- compare content of two ZODB databases bit-to-bit.zodb commit- commit new transaction into a ZODB database.zodb dump- dump content of a ZODB database.zodb restore- restore content of a ZODB database.zodb info- print general information about a ZODB database.Zodbtools change history0.0.0.dev9 (2024-02-16)Add preliminary support for Python3 (commit 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22). Full py3 support depends on the completion ofbstr workin Pygolang.Add newzodb restorecommand to restore database fromzodb dumpoutput
(commit 1,2,3,4,5,6,7).zodb dumpnow supports–prettyoption with a format to show pickles
disassembly (commit).Drop support for ZODB 3 (commit). Only ZODB 4 and ZODB 5 remain to be supported.zodb info: Provide “head” as subcommand to query last transaction of the database;
Turn “last_tid” into deprecated alias for “head” (commit).Robustifyzodb commitwhen handling object copies and reporting errors (commit 1,2).Add support to run tests under Nexedi testing infrastructure (commit).0.0.0.dev8 (2019-03-07)Support using absolute and relative time in tidrange.  One example usage is:zodb analyze data.fs2018-01-01T10:30:00Z..yesterday(commit).Python3 support progressed (commit 1,2,3), but zodbtools does not
support python3 yet. The test suite was extended to run on python3 (commit)
and also was extended to also run on ZODB with raw extensions from ongoing
pull request#183(commit).0.0.0.dev7 (2019-01-11)Fix zodbtools to work with all ZODB3, ZODB4 and ZODB5 (commit 1,2,3,4).Fixzodb analyzefor the case when history range is empty (commit 1,2,3).Zodbtools is not yet Python3-ready (commit), but we started to fix it
step-by-step (commit 1,2,3,4).0.0.0.dev6 (2018-12-30)zodb analyzecan now work with any ZODB storage and supports analyzing a
particular range of history (commit 1,2).Add help for specifying TID ranges (commit).Always close opened storages (commit).0.0.0.dev5 (2018-12-13)Start to stabilizezodb dumpformat. The format is close to be stable now
and will likely be changed, if at all, only in minor ways (commit 1,2,3,4).AddDumpReader- class to read/parse input inzodbdumpformat (commit).Addzodb commitsubcommand to commit new transaction into ZODB (commit).0.0.0.dev4 (2017-04-05)Clarify licensing (commit 1,2).Addzodbtool to drive all subcommands (commit).Addzodb infosubcommand to print general information about a ZODB database
(commit).Switch to open ZODB storages by URL, not only via ZConfig files. URL support
comes fromzodburi(commit 1,2).0.0.0.dev3 (2016-11-17)Move Nexedi version ofzodbanalyzefrom ERP5 into zodbtools.Compared to originalzodbanalyzeNexedi version is faster, prints not only
total, but also current sizes, and supports running on bigger databases where
keeping all working set to analyze in RAM is not feasible. It also supports
analyzing a Repozo deltafs file directly.
(commit 1,2,3,4,5,6,7,8,9)0.0.0.dev2 (2016-11-17)Add initial draft ofzodbdump- tool to dump content of a ZODB database
(commit 1,2).0.0.0.dev1 (2016-11-16)Initial release of zodbtools withzodbcmp(commit 1,2,3).We originally tried to putzodbcmpinto ZODB itself, but Jim Fultonaskednot to load ZODB with scripts anymore. This way zodbtools was created.