ZODB blobstorage 目录包含一个带有字符串“lawn”、“bushy”的 .layout 文件。
各种 blob 存储目录格式有什么区别?
这里解释:https ://github.com/zopefoundation/ZODB/blob/master/src/ZODB/tests/blob_layout.txt
自由贸易协定:
====================== Blob 目录布局
Blob 目录的内部结构由所谓的
layouts
. 当前的默认布局称为bushy
.最初的 blob 实现使用了我们现在称为的布局,
lawn
并且仍然可用于向后兼容。布局实现了两种方法:一种用于计算 OID 的相对路径,另一种用于将相对路径转换回 OID。
我们的术语与 中使用的术语大致相同
DirectoryStorage
。
它还详细解释了格式。
您通常不需要担心布局;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 。