2012-05-12 72 views
0

我使用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解決這個問題?

回答

1

目前沒有辦法使用CakePHP進行此操作。但是,您可以通過在腳本中輸入一系列答案來解決此問題。我找到了答案here

如果你想回答'y'每一個提示,你可以使用:

echo 'y' | cake schema create 

如果你只是想使用默認設置,你可以使用:

printf "\n\n" | cake schema create 

如果要使用特定的您可以列出它們,並用換行符分隔。這將發送'y',然後'n',刪除表格,而不是重新創建它們:

printf "y\nn\n" | cake schema create 
相關問題