Есть один yii2-advanced и два сайта в нем. Файлы миграций общие и относятся к обоим сайтам.
В конфигурационном файле консольного приложения не указан компонент
db
, вместо него стоят
db1
и
db2
.
Соответственно миграции запускаются так:
yii migrate/up --db=db1
и
yii migrate/up --db=db2
.
Все работает, но(!): в одной из миграций создается пользователь по умолчанию:
if (!$email = ArrayHelper::getValue(Yii::$app->params, 'developerEmail')) {
if (!$email = ArrayHelper::getValue(Yii::$app->params, 'supportEmail')) {
throw new InvalidConfigException('App must have a developer or support email');
}
}
$user = new User();
$user->email = $email;
$user->status = User::STATUS_ACTIVE;
$user->role = User::ROLE_DEVELOPER;
$user->setPassword('654321');
$user->generateAuthKey();
$user->save();
Здесь возникает ошибка, т.к. не указан компонент баз данных
db
, на который смотрит
User()
. По началу я считал, что указывая в миграции компонент
db1
yii migrate/up --db=db1
приложение работает с этой базой, но видимо нет.
Подскажите почему так, и как "на лету" сменить значение
$user->getDb()
.