各种ZODB blobstorage布局之间有什么区别?

时间:2011-02-01 18:46:44

标签: python zope zodb

ZODB blobstorage目录包含一个.layout文件,其字符串为'lawn','bushy'。

各种blob存储目录格式有什么区别?

2 个答案:

答案 0 :(得分:7)

这里解释:http://svn.zope.org/ZODB/trunk/src/ZODB/tests/blob_layout.txt?rev=101802&view=markup

FTA:

  

======================

     

Blob目录布局

     

blob目录的内部结构由所谓的   layouts。当前的默认布局称为bushy

     

原始blob实现使用了我们现在称为lawn和的布局   仍可用于向后兼容。

     

Layouts实现了两种方法:一种用于计算相对路径   OID和一个用于将相对路径转换回OID的方法。

     

我们的术语与DirectoryStorage中使用的术语大致相同。

它还详细解释了格式。

答案 1 :(得分:1)

您通常不需要担心布局; lawn仅用于向后兼容。

如果你确实有lawn布局blobstorage(如果你这样做,你会在日志中收到警告)并希望迁移到bushy布局,请使用migrateblobs脚本;这是一个用于创建脚本的构建部分:

[migrateblobs]
recipe = zc.recipe.egg
eggs = ZODB3
entry-points = migrateblobs=ZODB.scripts.migrateblobs:main

关闭所有实例和ZEO服务器,备份blob存储并在blobstorage目录上运行脚本:

$ mv var/blobstorage var/blobstorage-lawn
$ bin/migrateblobs var/blobstorage-lawn/ var/blobstorage
然后

var/blobstorage将使用bushy布局包含已迁移的blob。