symfony1.3でタスクを生成すると、デフォルトで使用するORMがpropelになっている
symfony1.3ではデフォルトのORMがdoctrineなわけですが、タスクを生成してみると・・・。
<?php $this->addOptions(array( new sfCommandOption('application', null, sfCommandOption::PARAMETER_REQUIRED, 'The application name'), new sfCommandOption('env', null, sfCommandOption::PARAMETER_REQUIRED, 'The environment', 'dev'), new sfCommandOption('connection', null, sfCommandOption::PARAMETER_REQUIRED, 'The connection name', 'propel'), // add your own options here ));
connectionオプションのデフォルトパラメータが'propel'になってしまうので、タスクを実行するときのパラメータで指定するか、直接これを'doctrine'に変更する必要があります。
タスク生成部分のソースは以下
sfGenerateTaskTask.class.php
- http://trac.symfony-project.org/browser/branches/1.3/lib/task/generator/sfGenerateTaskTask.class.php#L31
- http://trac.symfony-project.org/browser/branches/1.3/lib/task/generator/sfGenerateTaskTask.class.php#L95
チケットがすでに切られていました。
- [1.3] generated task still have 'propel' as default parameter
- http://trac.symfony-project.org/ticket/7153
- (2009/09/24)修正されたようで、チケットのステータスがfixedになっていました。(デフォルト値がdoctrineに書き換えられたというだけなので、Propelを使う場合はここを手で書き換える必要がある点には注意が必要そうですね。)