Динамическая смена DSN в компоненте DB

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Закрыто
dds
Сообщения: 102
Зарегистрирован: 2013.11.18, 10:48

Динамическая смена DSN в компоненте DB

Сообщение dds »

Всем привет, у меня в проекте к примеру имеется 2 базы идентичных с 1 подключением DB, я изменяю лишь настройки DSN.

Хочу что бы миграции применялись к этим 2ум базам, делаю как то так:

Код: Выделить всё

class MigrateController extends \yii\console\controllers\MigrateController
{
    public function __construct($id, $module, $config = [])
    {
        parent::__construct($id, $module, $config);
    }

    public function actionAll()
    {
        foreach (\Yii::$app->params['sites'] as $site) {
            \Yii::$app->db->dsn = $site['dsn'];
            $this->actionUp();
        }
    }
}
но после запуска migrate/all получаю:

mysql:host=mysql-5.7;dbname=db1
No new migrations found. Your system is up-to-date.
mysql:host=mysql-5.7;dbname=db2
No new migrations found. Your system is up-to-date.

Для db1 - всё ок на данный момент миграций нет, для db2 должны быть предложены миграции (так как база полностью новая), но этого не происходит, что я делаю не так?
dds
Сообщения: 102
Зарегистрирован: 2013.11.18, 10:48

Re: Динамическая смена DSN в компоненте DB

Сообщение dds »

нужно было добавить в конце - $this->db->close(); после $this->actionUp(); :)
Закрыто