zope.app.fssync与zope2的集成
gocept.fssyncz2的Python项目详细描述
gocept.fssyncz2
请注意:我们不再积极支持此包。如果您仍然需要,请给我们一张便条,我们可以转移存储库,也可以为您提供付费支持。
这个包提供了zope.fssync/zope.app.fssync的zope2集成 就是,将zodb内容转储并还原到文件系统(到该文件系统)的能力 最后,它为ofs文件夹等提供同步器,并适应 使用zope.app.fssync的zope3机制与zope2发布服务器一起工作)。
它的主要用例是将存储在zodb中的代码保存在源代码中。 管理系统。因此,它试着做泡菜 尽可能可读的磁盘(例如,不使用base64编码)。
到目前为止,它主要关注dump和load操作(其中 完全覆盖它们的目标),因为在不同的 无论如何,签出都需要通过供应链管理完成。(zope.app.fssync提供了几个 其他操作,如update和commit,在 zodb和文件系统转储都已并发更改。当这是 很好,只要存在一个文件系统表示,模型就中断了。 当多个转储需要彼此同步时,它会关闭—这是非常重要的 在这种情况下,要确定谁的更改才是真正正确的更改是非常重要的,所以 我们建议此时不要使用这些操作。)
使用量
您需要同时加载configure.zcml和overrides.zcml配置 文件夹。
fssyncz2提供了一个名为fssync的控制台脚本,它将这两个脚本包装起来 操作(dump和load)并允许传入所有其他 参数(URL、位置、凭据)。这是要生成的(通过 例如buildout),如下:
[fssync] recipe = zc.recipe.egg:scripts eggs = gocept.fssyncz2 extra-paths = ${zope2:location}/lib/python arguments = host='${instance:http-address}', folder='myfolder', credentials='${instance:user}', repository='${buildout:directory}/var/zodb-dump'
然后可以将zodb转储到配置的文件系统位置 bin/fssync dump并将文件系统中存储的数据加载到 带bin/fssync load的zodb。
忽略对象
如果要排除某些对象被转储(例如 经常更改),创建名为 fssync-dump-ignore在父文件夹中。此文件可能包含一个对象 应从转储中排除的每行的名称。
更改
1.7(2018-09-19)
- 修复PluggableauthService用户文件夹的还原。
- 稳定了一个依赖于文件对象的ETag的测试 确定长度。(10491)
1.6(2013-03-22)
- 不要转储pythonscripts的co\varnames属性,因为它也不是 在垃圾堆里也不需要。
1.5.2(2012-07-04)
- 添加CookieUserFolder的解决方案以还原^{TT11}$ 当fssync忽略时加载后的指针(11111)。
1.5.1(2012-02-27)
- 使忽略机制在加载转储时实际上忽略对象。(10488)
1.5(2012-02-23)
- 添加忽略机制(10483)。
1.4(2011-11-28)
- 修复了一个错误,该错误阻止了包含序列]]>;的字符串 转储并重新加载,导致格式错误的xml pickle。
- 清理一点:删除了一个未使用的testdata目录。
1.3(2011-08-05)
- 在BuildOut中锁定了所有使用过的版本。
- 添加了Trove分类器来打包元数据。
1.2(2011-04-10)
- 确保字符串中的换行符以换行符结束,而不是\n XML pickles中的符号(修复了8860)。
- 在开发构建中安装fssync脚本。
- 当转储pythonscript时,去掉它的'u code属性以减少噪声 在XML pickles中(修复了8859)。
- 声明依赖于zope.i18N消息。
- 在Extras中查找持久性对象时会出现更好的错误消息。`
1.1(2011-01-31)
- 重命名控制台命令以转储/加载而不是签出/签入以避免 与供应链管理操作混淆。
1.0(2011-01-31)
- 初次发布。