我正在使用Vagrant + Chef Solo来设置CakePHP应用程序。我希望能够在我的食谱中调用'cake schema create'来创建数据库模式。我已将以下内容添加到我的默认配方中:
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年底开了this issue,但它看起来不像是在哪里......
有没有办法配置厨师与脚本互动?
如果没有,有什么方法可以通过CakePHP解决这个问题吗?
答案 0 :(得分:1)
目前无法通过CakePHP执行此操作。但是,您可以通过在脚本中输入一系列答案来绕过它。我找到了答案here。
如果您想对每个提示回复'y'
,您可以使用:
echo 'y' | cake schema create
如果您只想使用默认值,可以使用:
printf "\n\n" | cake schema create
如果您想使用特定的回复,可以列出它们,用换行符分隔。这将发送'y'
然后'n'
,删除表,而不是重新创建它们:
printf "y\nn\n" | cake schema create