首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法通过Vagrantfile迁移Django DB

无法通过Vagrantfile迁移Django DB
EN

Stack Overflow用户
提问于 2015-08-04 02:56:39
回答 1查看 175关注 0票数 0

我在尝试让命令行django命令在vagrant up期间运行时遇到了问题。我已经确保了路径是正确的,并且它是从Vagrant dev框中的正确位置执行的。但是,我仍然收到如下所示的相同错误。

下面是我的Vagrantfile (至少是相关的部分)。

代码语言:javascript
复制
Vagrant.configure("2") do |config|

  config.vm.define :devbox do |b|
    b.vm.box = "precise64"
    b.vm.box_url = "http://files.vagrantup.com/precise64.box"
    ...
    b.vm.provision :shell, :inline => "sudo cf-agent -KI"
    b.vm.provision :shell, :inline => "echo 'Running the syncdb now'"
    b.vm.provision :shell, :inline => "source ~/.bashrc && cd / && /devbox/barista/manage.py syncdb --noinput --settings=test_app.settings.dev"
  end
end

关于在Vagrant机器上运行Django的命令行命令,我是不是遗漏了什么?我只是尝试运行manage.py syncdb命令。我想知道是否有我不知道的路径或bash问题。

我目前运行的是Django 1.4.2。

EN

回答 1

Stack Overflow用户

发布于 2015-09-25 04:36:32

这可能是一个特权问题,如果您像这样运行外壳程序(或任何配置程序块),它将以sudo身份运行,但您可能只想以普通(流浪)用户身份运行,因此您可以添加privileged: "false"

代码语言:javascript
复制
b.vm.provision :shell, :inline => "source ~/.bashrc && cd / && /devbox/barista/manage.py syncdb --noinput --settings=test_app.settings.dev", privileged: "false"

另外,对于这一点,您不需要显式地提到sudo,因为它将自动为您完成

代码语言:javascript
复制
b.vm.provision :shell, :inline => "sudo cf-agent -KI"

因此,您的Vagrantfile将如下所示

代码语言:javascript
复制
b.vm.provision :shell, :inline => "cf-agent -KI"
b.vm.provision :shell, :inline => "echo 'Running the syncdb now'"
b.vm.provision :shell, :inline => "source ~/.bashrc && cd / && /devbox/barista/manage.py syncdb --noinput --settings=test_app.settings.dev", :privileged => "false"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31794738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档