检查ZODB中的所有数据是否可以加载
项目描述
概述
通过迭代和加载所有记录来验证ZODB。问题将详细报告。提供了一个调试器,以及反汇编信息。
zodbverify可以作为独立脚本以及作为plone.recipe.zope2instance的插件使用。
用法
脚本
验证在普通的ZODB文件上运行。Zope应用程序未启动。
运行示例:
bin/zodbverify -f var/filestorage/Data.fs
用法
zodbverify [-h] -f ZODBFILE [-D] [-o OID] Verifies that all records in the database can be loaded. optional arguments: -h, --help show this help message and exit -f ZODBFILE, --zodbfile ZODBFILE Path to file-storage -D, --debug pause to debug broken pickles -o OID, --oid OID oid to inspect
plone.recipe.zope2instance集成
验证在初始化的Zope应用程序上下文中运行。
用法
./bin/instance zodbverify [-h] [-D] [-o OID] Verifies that all records in the database can be loaded. optional arguments: -h, --help show this help message and exit -D, --debug pause to debug broken pickles -o OID, --oid OID oid to inspect
检查单个oid
zodbverify的输出会给你一个所有问题和受影响的oid列表。
要详细检查单个oid,你可以将其传递给zodbverify。
./bin/instance zodbverify -o 0x2e929f
这将输出该oid的pickle和错误信息。
通过添加debug开关,你将在脚本运行时得到两个pdb。
./bin/instance zodbverify -o 0x2e929f -D 2020-03-11 10:40:24,972 INFO [Zope:45][MainThread] Ready to handle requests The object is 'obj' The Zope instance is 'app' [4] > /Users/pbauer/workspace/dipf-intranet/src-mrd/zodbverify/src/zodbverify/verify_oid.py(52)verify_oid() -> pickle, state = storage.load(oid)
在第一个pdb中,oid的对象是obj,zope实例是app。在第二个pdb之前,pickle将按照使用zodbverify暂停以调试损坏的pickle的方式被解包,而不传递oid。
源代码
贡献者请阅读文档Plone核心开发流程
源代码在Github上托管的Plone代码仓库。
变更日志
1.2.0 (2022-07-06)
新功能
改进调试输出:显示所有引用oid的对象。有关更多信息,请参阅Philip的博客文章。有关讨论,请参阅拉取请求8。[pbauer] (#8)
1.1.0 (2020-04-22)
新功能
显示每个错误的受影响oid。检查单个oid。这个想法是在整个数据库上运行zodbverify,然后从输出中复制一个oid再次运行,以进一步检查该对象。[pbauer] (#6)
错误修复
小型的打包更新。 (#1)
1.0.2 (2019-08-08)
错误修复
以只读模式打开Data.fs。 (#2)
1.0.1 (2019-05-09)
错误修复
修复项目描述。[jensens] (#1)
1.0 (2019-05-09)
新功能
初始努力。基本代码取自Products.CMFPlone(由@davisagli创建)。增强并打包以供更广泛的Zope使用。[dwt,jensens] (#1)
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
构建分发
zodbverify-1.2.0.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 4c84b5f6b6913f40a38827a02309cd167f437eb01684248d7b8f3c9b453a544e |
|
MD5 | fbf6d3f0d49d468669d830ad643311ad |
|
BLAKE2b-256 | 44a2a8c750ab89cb30620f4a3a03a17bff51071cc90e553e33cf5be1230fe35b |
zodbverify-1.2.0-py2.py3-none-any.whl的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 482457e4d3d2ad347ab2bb3fa6e64fe0f8fb2dade1a4a1dbf54dc0616de8a204 |
|
MD5 | 6f326a488ba2b87f1d8d39496045f9fd |
|
BLAKE2b-256 | e5698b84ffaddeb29cb525dbc6b5639d42626d211699725b56e13e77decca41b |