collective.diversion包装了ZODB中损坏对象现有的行为,允许开发者声明他们类的旧位置,并自动迁移
项目描述
collective.diversion
collective.diversion包装了ZODB中损坏对象现有的行为,提供了一个在传递请求之前预先处理的查找表。这允许开发者在加载时声明他们类的旧位置,并自动无缝地将它们迁移到新的代码。
用法
只需在您的代码中包含以下ZCML声明
<configure xmlns="http://namespaces.zope.org/zope" xmlns:diversion="http://namespaces.plone.org/diversion"> <diversion:class old="Products.example.oldlocation" new="collective.example.shiny" /> </configure>
注意事项
转向的类在写入时会保留其新类。然而,当ZODB存储持久对象的引用时,它存储oid和类名。那些类名引用只有当它们所附加的持久对象重新序列化(修改)时才会更新。不幸的是,此包无法为您完成此操作,因为没有快速找到引用特定对象的集合对象的方法。您必须在确认所有实例和所有引用都已更新之前保留您的包中的转向指令。
变更日志
1.0(未发布)
覆盖了ZODB ExportImport中的cPickle.Unpickler类,以便支持复制/粘贴以及导出。(MatthewWilkes)
初始化时将类工厂重新绑定到现有的数据库连接上(MatthewWilkes)
用于注册转向的ZCML声明
使用转向的类工厂实现
贡献者
Tom Blockley Alan Hoey Matthew Wilkes
赞助商
Team Rubber, Bristol
项目详细信息
关闭
collective.diversion-1.0.zip的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fd8b4cfd6ff5d2f0dbca0c872564e69c78f3faa70fe3823e497effea881d140b |
|
MD5 | e960990eade40a34d55695b423ae5cc1 |
|
BLAKE2b-256 | c45e1fbdef96f300c410d7e01adf42b9aaf82848b9bf844fcd358e1957478d3f |