Есть проект. В нем есть миграции. При разворачивании проекта на новой машине выполняем след. действия:
1.php init
2.php yii migrate/up
Как php yii migrate/up запихнуть в php init, чтобы не делать лишние действия?
(На самом деле команд больше, просто для примера привел эти)
Например, создаете контроллер ProjectController в консольном приложении, экшн actionInit().
public function actionInit()
{
$this->printHeader('Migration up');
$this->runMigrationWithMarks();
$this->printHeader('Init users');
$this->run('local-users/init-default-users', ['interactive' => 0]);
$this->printHeader('Set default parameters');
$this->setDefaultParams();
...
}
/**
* Migration up
*
* @throws \Exception
*/
private function runMigrationWithMarks()
{
try {
...
$this->run('migrate/up', ['interactive' => 0]);
...
} catch (\Exception $e) {
throw new \Exception($e->getMessage());
}
}
Прописываете нужные команды, запускаете php yii project/init.
Но, init, мне кажется, все равно нужно отдельно запускать.
Продвижение своими сайтами как стратегия роста и независимости