跳转到主要内容

自动将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 (4.1 kB 查看哈希值)

上传时间 源代码

支持者

AWSAWS 云计算和安全赞助商 DatadogDatadog 监控 FastlyFastly CDN GoogleGoogle 下载分析 MicrosoftMicrosoft PSF赞助商 PingdomPingdom 监控 SentrySentry 错误日志 StatusPageStatusPage 状态页面