通过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上的第一个版本。