通过git提交id跟踪和自动检测,在整个团队中共享开发设备。

django-devfixtures的Python项目详细描述


通过git提交id跟踪和自动检测,在整个团队中共享开发设备。

  • 免费软件:BSD许可证

安装

目前,这个包需要git、psql、pg_dump createdb、dropdb和unzip才能运行。

pip install django-devfixtures

配置

devfixtures添加到installed\u apps中。

settings.DEVFIXTURE_DIR         # path to directory where auto generated fixtures should be stored
settings.DEVFIXTURE_BACKUP_DIR  # path to where backups are stored when running restore

工作原理

当您create一个fixture(不带任何参数)时,管理命令将把媒体文件和数据库转储压缩到 命名为<;作者日期>;+<;提交日期>;+<;创建日期>;+<;创建者>;.zip的文件。

auto restore函数将从提交树中的head和backards进行检查,当它发现fixture文件时 该提交ID将在创建当前状态的备份后还原该版本。如果恢复为 由于某些原因失败,它将尝试恢复备份的设备。

这适用于以下标准:

  • 您不会重新设置/重写历史记录,因为提交ID可能不再匹配
  • 您不会手动删除迁移

它也有不使用postgresql的限制。现在有一些限制,因为 实现使用pg_dump等创建转储。要求:

  • 数据库名称在settings.databases['default']['name']
  • 正在运行的用户具有dropdb/createdb的权限

将dev_fixture存储在git中

如果有一组大的媒体文件,devfixtures可能会变大。如果您使用github,我们鼓励您使用git lfs 来存储文件。在这里阅读git lfs:https://git-lfs.github.com/

在将第一个fixture添加到git之前,将devfixtures/*添加到跟踪的git lfs文件中。

# git lfs track 'dev_fixtures/*'

用法

创建夹具:

# ./manage.py devfixture create

恢复夹具:

# ./manage.py devfixture restore

创建手动夹具共享,例如,如果您有一个分支,并且希望其他开发人员查看 一只虫子。运行此命令并将zip文件发送给其他开发人员:

# ./manage.py devfixture create -f ~/Desktop/devfixture-for-peter-debugging.zip

加载共享设备:

# ./manage.py devfixture restore -f ~/Desktop/devfixture-for-peter-debugging.zip

运行还原时,始终会创建备份。你可以像上面一样恢复它。

# ./manage.py devfixture -h

开发

要运行所有测试,请运行:

tox

注意,要合并来自所有tox环境的覆盖率数据,请运行:

Windows^{pr 10}$
Other^{pr 11}$

更改日志

0.1.3(2016-02-02)

  • 如果pg_dump失败,将引发commanderror。
  • 如果开发设备将存储在github repo中,则更新的文档将推荐git lfs。

0.1.1(2016-02-02)

  • pypi上的第一个版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java OnResizeListener或OnDrawListener或类似的东西   java Orika映射嵌套子列表   保存时java Heroku请求超时代码H12   数据库在Java中出现socket读取超时异常的原因是什么?   java如何更改来自Sqlite数据库的特定数据在Listview中的行颜色   java JAXB解组器无法正确处理XML中的列表   java Android日期时区让我抓狂   java不透明属性在Swing中如何工作?   eclipse从JavaEE代码生成流程图   java如何在Hibernate中从相关表中获取计数   java Glassfish部署了项目的依赖项库   java使内容适合JavaFx中的WebView   java不满意的链接错误libcrypto。所以1.0.0   循环中java数组的使用   java找出哪个包调用服务