4

在plone中,如果将文件(或任何内容)修改4次,则存在多少物理副本?我正在使用 plone 4.1,其中文件和图像存储在文件系统上。

4

2 回答 2

5

内容对象由多个持久记录组成。对于在文件系统上包含二进制 blob 文件的图像和文件。

当内容对象发生更改时,只有受更改影响的持久记录才会作为事务的一部分写入。在那一刻,较旧的记录不会被清除,因此您确实会获得多份副本,是的。

因此,每次更改文件或图像的二进制内容时,都会使用该新数据创建一个新副本,并保留旧版本。但是,如果您只更改标题或发布日期,则 Blob 文件不会受到影响,那么您最终不会得到其他未更改数据的额外副本。

您使用ZODB 打包来删除旧的交易数据。请注意,通过打包,您还删除了撤​​消已被打包删除旧状态的更改的能力。

于 2012-10-27T10:28:59.887 回答
0

如果您以任何方式更改内容(或只是重新保存),则会创建对象的副本(允许您稍后撤消)。如果您仅更改元数据(如标题),则该对象通常不会重复。

只要数据库被打包,这些重复的“备份”副本就会被删除(以及它们的撤消选项)。

有依赖于持久对象的规则:这几乎是所有普通的 Zope(和 Plone)对象。可能存在一些例外,但它们很少见。

于 2012-12-03T03:36:24.933 回答