ZODB blobstorageディレクトリには、文字列'lawn'、'bushy'の.layoutファイルが含まれています。
さまざまなBLOBストレージディレクトリ形式の違いは何ですか?
ここで説明されています:https ://github.com/zopefoundation/ZODB/blob/master/src/ZODB/tests/blob_layout.txt
FTA:
======================Blobディレクトリのレイアウト
blobディレクトリの内部構造は、いわゆる。によって管理され
layouts
ます。現在のデフォルトレイアウトはと呼ばれbushy
ます。元のblob実装は、現在呼び出されているレイアウトを使用して
lawn
いましたが、下位互換性のために引き続き使用できます。レイアウトは2つの方法を実装します。1つはOIDの相対パスを計算するためのもので、もう1つは相対パスをOIDに戻すためのものです。
私たちの用語は、で使用されているものとほぼ同じ
DirectoryStorage
です。
また、フォーマットについても詳しく説明しています。
通常、レイアウトについて心配する必要はありません。lawn
下位互換性のためだけにあります。
レイアウトblobstorageがあり(ある場合lawn
はログに警告が表示されます)、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
次に、レイアウトを使用して移行されたBLOBが含まれbushy
ます。