0

我正在使用 Vagrant + Chef Solo 来设置 CakePHP 应用程序。我希望能够在我的食谱中调用“蛋糕模式创建”来创建数据库模式。我已将以下内容添加到我的默认配方中:

execute "create-db" do
  command "mysql -u root -p#{node[:mysql][:server_root_password]} -e 'CREATE DATABASE cakephp;'"
end

execute "load-db-schema" do
  command "/vagrant/cakephp/lib/Cake/Console/cake schema create -app /vagrant/cakephp/app"
end

但是“蛋糕模式创建”任务需要用户干预(即,如果他们真的想删除所有表并重新创建它们,它会提示用户)。这个问题在 2011 年底打开,但看起来它不会去任何地方......

有没有办法配置厨师与脚本交互?

如果没有,有没有办法用 CakePHP 解决这个问题?

4

1 回答 1

1

目前没有办法用 CakePHP 做到这一点。但是,您可以通过将一系列答案输入脚本来绕过它。我在这里找到了答案。

如果要回答'y'每个提示,可以使用:

echo 'y' | cake schema create

如果您只想使用默认值,您可以使用:

printf "\n\n" | cake schema create

如果你想使用特定的响应,你可以列出它们,用换行符分隔。这将发送'y'然后'n',删除表,而不是重新创建它们:

printf "y\nn\n" | cake schema create
于 2012-05-23T04:00:11.630 回答