无法通过Vagrantfile迁移Django DB

时间:2015-08-03 18:56:39

标签: python django vagrant vagrantfile

我在尝试在vagrant up期间运行命令行django命令时遇到问题。我确保路径是正确的,并且它是从Vagrant开发盒上的正确位置执行的。但是,我一直收到如下所示的相同错误。

error-message

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

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。

1 个答案:

答案 0 :(得分:0)

它可能是一个特权问题,如果您运行这样的shell规定(或任何配置程序块),它将以sudo身份运行,但您可能只想以普通(流浪)用户身份运行,因此您可以添加{{1 }}

privileged: "false"

对于这个,你不需要明确提到sudo,因为它会自动为你完成

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

因此你的Vagrantfile就像是

b.vm.provision :shell, :inline => "sudo cf-agent -KI"