0

我正在尝试使我的 Django 项目超级便携且易于启动/停止。我正在使用 python 的虚拟环境以及 pip 要求文件来管理 python 版本和 pip 包。我一直想知道的一个问题是在数据库之间迁移测试数据。我正在使用:

python manage.py dumpdata > fixtures/data.json

将当前的测试数据转储到一个文件中,我希望下一个开发人员在他们启动他们的环境时使用:

python manage.py loaddata fixtures/data.txt

因此,总体目标是创建一个简单的 gulp 命令来执行以下操作:

拉最新的 git 提交,启动虚拟环境,将测试数据合并到数据库中,启动服务器

我无法启动虚拟环境,但如果有另一种方法我应该尝试自动执行此操作,请告诉我。

4

1 回答 1

1

您可以使用gulp-shellgulp 运行系统命令

gulp-shell使用 npm安装:

$ npm install --save-dev gulp gulp shell

这是示例gulpfile.js供您参考:

var gulp = require('gulp'),
    shell = require('gulp-shell');


gulp.task('default', shell.task([
    'git pull origin master',          // pull the latest data from remote repo
    'source $virtualenv/bin/activate; python manage.py dumpdata --database test > fixtures/data.json',   // activate the python virtual env, dump the data from test database
    'source $virtualenv/bin/activate; python manage.py loaddata fixtures/data.json'   // activate the python virtual env, load the data into production database
]));

运行 gulp 默认任务

$ gulp
于 2016-12-27T01:30:06.237 回答