タスクを実行するときに環境を指定して実行する

シェルのテストってやりにくい。

通常タスクを実行する場合には

$ symfony batch:taskname hogehoge

って感じで指定すると思うけど、デフォルトだとアクセスするDBがtest環境のものになる。
利用するDBを指定する場合は

$ symfony batch:taskname hogehoge --env=prod

にという風にCLIで処理するときに引数で指定するか

public function configure()
{
  $this->addOptions(array(
    new sfCommandOption('env', null, sfCommandOption::PARAMETER_REQUIRED, 'The environment', 'prod'),
  ));
}

という風にタスクのconfigure内でaddOptionsを利用して指定する。というメモ。

コマンドラインとタスクの活用 – Symfony