За последние 24 часа нас посетили 6582 программиста и 460 роботов. Сейчас ищут 168 программистов ...

migrate через файл php (YII)

Тема в разделе "Прочие вопросы по PHP", создана пользователем Evgenij85, 22 окт 2018.

Метки:
  1. Evgenij85

    Evgenij85 Новичок

    С нами с:
    20 сен 2017
    Сообщения:
    48
    Симпатии:
    0
    есть задача реализовать миграции через файл install подскажите можно ли запустить миграции не через консоль а через файл php ?

    к примеру если через фреймворк я запускаю миграции через консоль пишу "yii migatre" подтверждаю "yes" и выполняются миграции , но как сделать чтобы миграции запустились автоматически в файле php . к примеру делал так

    Код (Text):
    1.  
    2. __DIR__.'/yii.php migrate';
     
  2. Evgenij85

    Evgenij85 Новичок

    С нами с:
    20 сен 2017
    Сообщения:
    48
    Симпатии:
    0
    Код (Text):
    1. class MigrateController
    2. {
    3.     public function Up()
    4.     {
    5.         ob_start();
    6.         $oldApp = \Yii::$app;
    7.         $runner = new \yii\console\Application([
    8.             'id'            => 'Command runner',
    9.             'basePath'      => __DIR__ . '/../../',
    10.             'components'    => [
    11.                 'db' => $oldApp->db,
    12.             ],
    13.         ]);
    14.  
    15.         @$runner->runAction('migrate/up', ['migrationPath' => __DIR__ . '/../migrations', 'interactive' => false]);
    16.         @Yii::$app = $oldApp;
    17.         return ob_get_clean();
    18.  
    19.     }
    20. }