Изменение компонента 'db', для выполнения миграций
Изменение компонента 'db', для выполнения миграций
Компонент использующийся для работы с БД у меня называется по-другому (не 'db'). Из-за этого не получается работать с миграциями. Подскажите, пожалуйста, как это можно исправить ?
-
- Сообщения: 910
- Зарегистрирован: 2019.08.13, 01:49
Re: Изменение компонента 'db', для выполнения миграций
Код: Выделить всё
public function init()
{
$this->db = 'db2';
parent::init();
}
Re: Изменение компонента 'db', для выполнения миграций
Переопределил во всех классах миграций метод инициализации и все равно возникает ошибка: Exception 'yii\base\InvalidConfigException' with message 'Failed to instantiate component or class "db".'yiiliveext писал(а): ↑2019.08.15, 10:44Код: Выделить всё
public function init() { $this->db = 'db2'; parent::init(); }
-
- Сообщения: 910
- Зарегистрирован: 2019.08.13, 01:49
Re: Изменение компонента 'db', для выполнения миграций
Добавьте в конфиг
Код: Выделить всё
'controllerMap' => [
'migrate' => [
'class' => '\yii\console\controllers\MigrateController',
'db' => 'db2'
],
],
Re: Изменение компонента 'db', для выполнения миграций
Спасибо за помощь! Теперь все нормально работает.yiiliveext писал(а): ↑2019.08.15, 14:44 Добавьте в конфиг
Код: Выделить всё
'controllerMap' => [ 'migrate' => [ 'class' => '\yii\console\controllers\MigrateController', 'db' => 'db2' ], ],
UP: если в конфиге добавить данный код, тогда можно не переопределять метод init. И без этого все работает
-
- Сообщения: 910
- Зарегистрирован: 2019.08.13, 01:49
Re: Изменение компонента 'db', для выполнения миграций
Естественно. В методе init переопределяется свойство db для каждой отдельной миграции. В controllerMap вы определяете глобально для контроллера, который потом создает классы миграций с этим параметром по-умолчанию.