为什么Data.fs.old消失了?

时间:2013-09-16 07:36:24

标签: plone packing zodb

我正在测试打包机制,因此将pack-days设置为零,通过ZMI添加和删除对象以生成一些历史记录,并执行zeopack,到目前为止工作正常。

然而,如果自上次打包以来没有任何交易,并且触发了另一个新打包,则Data.fs.old被删除/消失,为什么?

分别是哪些代码行呢?找不到它。

1 个答案:

答案 0 :(得分:3)

启动包始终删除.old文件。

如果没有任何内容可以打包,则不会在其中创建 .old文件。

FileStorage.pack() method;它在获取打包锁后立即删除现有的.old文件。

逻辑去了(删除了一些缩进和中间代码):

oldpath = self._file_name + ".old"
if os.path.exists(oldpath):
    os.remove(oldpath)

# collect pack info
pack_result = self.packer(self, referencesf, stop, gc)

if pack_result is None:
    return

os.rename(self._file_name, oldpath)