こまった

秘伝のタレ化したCakePHP2アプリケーションなどを触っていると、migrationの最中に以下のような対話式の(y/a)が出て詰まる事がある

1
2
3
4
$ app/Console/cake Migrations.migration run all

...
Do you want to mark the migration as successful?. [y]es or [a]bort. (y/a)

いわゆる aptでいうところの -yみたいな自動でyes扱いにしてくれるオプションが知っている限り無いため(あったら教えて)、CI/CDの際にここで停止してしまってとても困る

対処

yesコマンドでなんとかなりました( expectも試してみたけどPHPのプロセスとして走っているからか、反応してくれなかった)

1
$ yes | app/Console/cake Migrations.migration run all