我有一个像
django.syncdb:
module.run:
- settings_module: mvod.dev_settings
- bin_env: /home/vagrant/virtualenv/
- migrate: True
- require:
- pip: mvod
- mysql_grants: mvod_user_grants
- file: /tmp/mvod.log
文档并没有具体说明这究竟是做什么的,尽管它确实似乎确实符合我的预期,这意味着django-admin.py syncdb --settings=mvod.dev_settings --migrate
从目录中运行命令/home/vagrant/virtualenv
。
它实际上无法做到这一点,因为/home/vagrant/virtualenv/
路径实际上需要设置为/home/vagrant/virtualenv/bin/django-admin.py
.
但是,我在没有安装 django 的环境中运行它,所以我希望它会失败。然而,状态返回Result: True
,但输出是这样的Is a directory
我最终发现我必须替换这条线bin_env: /home/vagrant/virtualenv/
,bin_env: /home/vagrant/virtualenv/bin/django-admin.py
因为这就是我想要调用的。
底线:如果我有办法将状态转换为正在执行的确切命令,我会很快弄清楚。
那么有没有办法真正快速地做到这一点?