我正在使用流浪厨师索洛建立一个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
但是“cake schema create”任务需要用户干预(即,如果用户确实想要删除所有表并重新创建它们,它会提示用户)。2011年末发行了这一期,但看起来没有任何进展。。。
有没有办法配置chef与脚本交互?
如果没有,有没有办法用CakePHP解决这个问题?
目前没有办法用CakePHP实现这一点。但是,您可以通过在脚本中输入一系列答案来绕过它。我在这里找到了答案。
如果要对每个提示回答'y'
,可以使用:
echo 'y' | cake schema create
如果您只想使用默认值,可以使用:
printf "\n\n" | cake schema create
如果要使用特定的响应,可以列出它们,并用换行符分隔。这将发送'y'
,然后发送'n'
,删除表,而不重新创建它们:
printf "y\nn\n" | cake schema create