自动将Django模型实例备份到Subversion仓库
项目描述
svndjango已重命名为django-vcexport
http://pypi.python.org/pypi/django-vcexport
此包提供了一些基本工具,用于将Django模型实例备份到Subversion仓库。目前它非常实验性,且尚未在任何有意义的环境中测试。
它不提供从备份中恢复实时数据的工具,尽管将来可能会提供。
支持两种不同的用例:* 你想要批量版本化一个模型 * 你有一个包含一个或两个文档类文本字段的模型,并且只想版本化这些字段
要使用前者,你应该从svndjango.models.SubversionedMixin中派生你的模型,并从你的模型中调用其.save方法。svndjango.models.SubversionedModel是一个示例(你也可以直接派生它而不用担心任何问题,但它缺乏灵活性)——你很可能只想在RDB的“实际” .save之后调用SubversionedMixin.save;这将确保你不会意外地保存一个最终在RDB中回滚的修订。
你的模型实例将被序列化为JSON,并保存在类似 /module/name/class/name/instance_pk 的仓库路径中。
坦白说,批量版本化模型似乎是个糟糕的主意,除非你非常小心地版本化每个相关模型,并且除非你与内容并排版本化模型模式。但这至少是一种有趣的实验。
要使用后者,你应该以相同的方式从svndjango.models.SVNDoc中派生你的模型。要版本化的文本字段必须显式声明,通过使用svndjango.models.SubversionedTextField字段而不是标准的TextField。
你的文本字段将被直接保存在类似 /module/name/class/name/instance_pk/field_name 的仓库路径中。
你必须在settings.py文件中提供一项配置
SVNDJANGO_CHECKOUT_DIR:存储数据的本地仓库签出的绝对路径
支持第二个可选设置
SVNDJANGO_SILENT_FAILURES: 如果设置为True,则svndjango引起的任何异常都将被吞没。这可能在你更愿意避免用户错误而不是保留严格的更改历史时有用。
你必须自己初始化你的SVN仓库并检出,尽管这些操作可能在未来的版本中实现自动化。(不过,做这个并不难)
你必须安装pysvn。
最初在哥伦比亚大学新媒体教学与学习中心开发 <http://ccnmtl.columbia.edu>
0.3版本新增
增加了svndjango.sven.DjangoAutoupdatingSvnAccess类(依赖于sven>=0.4),它将从提交的文档中反序列化Django模型对象,并在提交通过后将其保存到Django数据库中。
假设你将在检出时正确安装Django环境和设置,并假设所有检出都应该保存到Django数据库中。
如果满足这些条件,则可以使用它作为sven.backend.SvnAccess的替代品(有关用法,请参阅该包的文档)
历史记录
0.2 (07-30-2009)
将样本SubversionedModel声明为抽象基类,这样django就不会为它创建无意义的数据库表。
0.1 (07-24-2009)
初始发布。
项目详情
svndjango-0.3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d22dd1d3b5e99f6dfaf1a95e37aa3f7a20ce2a9589bfe55086afac3e2d802dbf |
|
MD5 | 9e461899296eae4175a04de93badefbf |
|
BLAKE2b-256 | efb2816f7cffa88476fc31d223d050ef5827a19863c570862efae962986a5bd2 |