我正在尝试让我的Django项目超级便携,易于启动/停止。我使用python的虚拟环境以及pip需求文件来管理python版本和pip包。我一直想知道的一个问题是在数据库之间迁移测试数据。我正在利用:
python manage.py dumpdata > fixtures/data.json
将当前测试数据转储到文件中,我希望下一个开发人员在使用以下命令启动env时提取此测试数据:
python manage.py loaddata fixtures/data.txt
因此,总体目标是创建一个简单的gulp命令来执行以下操作:
拉最新的git commit,启动虚拟环境,将测试数据合并到数据库中,启动服务器
我无法开始虚拟环境,但如果还有其他方法我应该尝试自动化,请告诉我。
答案 0 :(得分:1)
您可以使用gulp-shell
使用gulp
使用npm:
安装gulp-shell
$ 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