以下のレシピ ( migrate.rb
) は、デプロイの一部として実行され、完全に機能します。
execute_recipe
ただし、コマンドでスタンドアロンのレシピとしても実行できるように設定する方法は、私が解決できないことの 1 つです。
現状では、このレシピをスタンドアロンとして実行すると、node[:deploy].each
ループするものが何もないため何も起こりません (デプロイ キーは存在しません)。
cwd "#{deploy[:deploy_to]}/current"
コードがどこにデプロイされたかを知る必要があるため、実際にデプロイ ノードに依存するのはこの行だけです。
node[:deploy].each do |application, deploy|
execute 'DB migrate then seed' do
cwd "#{deploy[:deploy_to]}/current"
command 'php artisan migrate; while read -r line || [ -n "$line" ]; do php artisan db:seed --class="$line"; done < "app/database/run.list"'
end
end