if(!is_dir($this->migrationPath))
die('Error: The migration directory does not exist: '.$this->migrationPath);
Идёт проверка существования application.migrations, а не application/migrations, то что не работает Yii::getPathOfAlias я сомневаюсь, а значит на момент инициализации migrationPath уже не равняется Null.
public function beforeAction($action,$params)
{
$path=Yii::getPathOfAlias($this->migrationPath);
if($path===false || !is_dir($path))
die('Error: The migration directory does not exist: '.$this->migrationPath);
$this->migrationPath=$path;
$yiiVersion=Yii::getVersion();
echo "\nYii Migration Tool v1.0 (based on Yii v{$yiiVersion})\n\n";
return true;
}
попробовал сделать
echo $path;
получил /Users/Tipugin/code/php/yiiframework/cli/migrations. хотя ведь должен быть путь до проекта.
ага, protected/yiic работает, миграции создаются. но как то это не привычно. хочется, чтобы создавалось они также как и модели/контроллеры. может вынести миграции в yiic shell?
Lion__, что тут странного? Именно этот код писал Qiang, а не я. Я исследовал уже существующие решения и реализовал прототип, опираясь на который был написан финальный код.