用于zope/plone内容迁移的工具和buildout配方
项目描述
简介
collective.migrator 是一个基于 buildout 的工具,用于帮助在 Plone/Zope 实例之间迁移内容。可以按照以下方式安装
$ easy_install collective.migrator
安装完成后,您可以使用此工具设置迁移环境
$ migrator
这将在 migrator 文件夹中创建一个文件夹并安装一个 buildout 环境。所有后续操作都从此文件夹运行。
此时您需要做的第一件事是自定义 instance.cfg 文件。
默认情况下,它看起来像这样
[remote] host = xxx.webfactional.com user = ssh_user port = 8080 extensions = /usr/Plone-2.5.5/zeocluster/client1/Extensions zmi_user = admin zmi_pwd = admin root = Plone export = /usr/Plone-2.5.5/zeocluster/client1/var [local] host = localhost port = 8080 extensions = /home/suresh/plone4/parts/instance/Extensions zmi_user = admin zmi_pwd = admin root = Plone import = /home/suresh/plone4/var/instance/import
这定义了迁移中涉及的所有 Plone 实例的设置。
buildout.cfg 定义了作为迁移一部分要执行的操作。
以下是默认内容
[buildout] extends = instance.cfg migrate_frontpage.cfg migrate_users.cfg migrate_props.cfg parts = tbd = ${migrate_frontpage:parts} ${migrate_users:parts} ${migrate_props:parts}
如你所见,parts 故意留空。此外,之前提到的 instance.cfg 也在此使用。其他 migrate_.cfg* 文件包含一些示例步骤,用于在实例之间移动各种对象。
作为一个简单的测试,您可以将 buildout.cfg 中的 parts 更改为如下所示
parts = export_frontpage
此步骤定义在 migrate_frontpage.cfg 中。
现在,在运行以下命令之后
$ bin/buildout
您应该会注意到在远程 Plone 实例中已导出首页对象。一旦您对工具更有信心,您甚至可以尝试运行 migrate_.cfg* 文件中找到的其他步骤。
PS:这可能不是操作您的 Plone 的“最酷”方式,其中一些操作可能更适合使用 GenericSetup 配置文件完成,但这对我有效!
故障排除
有几个人报告了以下错误
# migrator INFO: Starting migraton. Traceback (most recent call last): File "/opt/python/bin/migrator", line 5, in ? from pkg_resources import load_entry_point ImportError: No module named pkg_resources
不确定是什么原因造成的,但我怀疑是Python安装有问题。《virtualenv》是一个很好的工具,可以防止这种情况发生。以下修改后的安装程序可以在此情况下使用
$ easy_install virtualenv $ virtualenv --no-site-packages <my-folder> $ . <my-folder>/bin/activate $ easy_install -U setuptools $ easy_install -U zc.buildout $ easy_install collective.migrator $ migrator
变更日志
1.8 (2012-02-22)
目前没有变化。
1.7 (2012-02-22)
目前没有变化。
1.6 (2012-02-22)
允许使用由UnifiedInstaller创建的文件提供zmi用户名/密码 [sureshvv]
没有install_requires [sureshvv]
在ZODB中删除对象之前检查其存在性 [sureshvv]
1.5 (2011-02-26)
生成 .objects, .preserve 和 .properties 的配方,以方便导入内容 [sureshvv]
如果导入失败,显示错误日志中的错误消息 [sureshvv]
启用/禁用链接完整性检查 [sureshvv]
允许在文件名中使用URL转义,例如在copy_file中允许空格等。 [sureshvv]
允许文件名中使用不良字符,如 ~, (, ) 等。 [sureshvv]
添加测试 [sureshvv]
1.4 (2010-11-27)
添加了pack_db配方 [sureshvv]
enable_link_integrity_checks可以切换 [sureshvv]
导出中的错误修复 [sureshvv]
在README.txt中添加了故障排除部分 [sureshvv]
恢复install_requires。野外有很多问题。 [sureshvv]
1.3 (2010-10-25)
删除了migrate_blogs引用(感谢Marcelo Zabaljauregui) [sureshvv]
1.2 (2010-08-11)
在失败时转储错误日志 [sureshvv]
没有install_requires [sureshvv]
允许循环调用外部方法 [sureshvv]
新的发布到URL的配方 [sureshvv]
新的操作和站点配置脚本 [sureshvv]
在导入后删除zexp文件 [sureshvv]
1.1 (2010-06-17)
允许将参数传递给外部方法 [sureshvv]
将脚本分成统一的单元 [sureshvv]
在README.txt中添加了文档 [sureshvv]
1.0 (2010-06-16)
初始发布 [sureshvv]
项目详情
collective.migrator-1.8.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e4c7a6b2f888c09a29bf94a6bf17dce8a9662a6b0d9476ffa31ca1915af6979a |
|
MD5 | f9ecbb3cc7f784488581073d491d80df |
|
BLAKE2b-256 | 0c1f79e28f5f345b77fd4bdc04622e1d7597925a6c149475df33d04acc631724 |