zodb:从备份中恢复丢失的对象

dm.zodb.repair的Python项目详细描述


此包包含一个从zodb备份还原丢失对象的函数。 在未来,它可能会为zodb修复提供更多的工具。

recover.restore_from_backup

模块recover定义函数restore_from_backup 从zodb备份还原丢失的对象。restore_from_backup 具有参数lostbackuptarget

lost是标识target中丢失对象的oid的一个表。 例如,这些oid可能是由标准的fsrefs实用程序找到的。

backuptarget是开放的zodb存储。backup是只读的 并且可以以只读方式打开;target是读写的。

restore_from_backup读取 backup丢失,并将它们写入target。如果这样恢复 对象包含对target中不可用的其他对象的引用, 它们是递归恢复的。 这些操作是通过python的标准日志子系统记录的。

示例用法:

from logging import basicConfig, getLogger, INFO
from ZODB.FileStorage.FileStorage import FileStorage
from dm.zodb.repair.recover import restore_from_backup

basicConfig()
logger = getLogger(); logger.setLevel(INFO)

lost = [....] # list of oids for lost objects, e.g. derived from "fsrefs" output

backup = FileStorage('backup.fs', read_only=True)
target = FileStorage('target.fs')
restore_from_backup(lost, backup, target)
backup.close()
target.close()

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
具有x86javapath的x64机器上x86java上的java JNI未满足链接错误   java将Pixmap的一部分上传到GPU   图像Java位图RLE8格式   java Android studio谷歌广告崩溃应用程序   java如何创建包含未知数量对象的变量?   Java计算给定int数组的所有可能组合   java JDBC classnotfound异常   httpclient中的java将HttpEntity转换为字符串的最优雅/正确的方法是什么?   如何从Java程序运行nano?   java在安卓中调用自定义类/方法   调用方法和JOptionPane后,允许代码继续执行所需的java计时器或其他想法   关于侦听器的向量Java并发问题   线程池执行器Java线程池   java配置DTO上的Swagger javax验证约束   Java中用于按钮功能的swing操作命令   ServletOutputStream中的java设置状态代码   java打印输入数组的平均值