Как выполнить миграцию в фреймворке Yii2? - PullRequest
1 голос
/ 25 марта 2020

Я пытаюсь запустить расширенный проект Yii2, используя docker. Это мой первый проект в Yii2, и я не знаю, в чем может быть проблема.

В DockerFile есть несколько команд в каталоге веб-интерфейса. Это позволяет мне загрузить npm, composer et c.

Я запускаю в консоли следующую команду:

docker-compose run --rm backend init

Все просто отлично, поэтому я ' m изменяю данные доступа в основном локальном файле. php:

'components' => [
   'db' => [
      'class' => 'yii\db\Connection',
      'dsn' => 'mysql:host=127.0.0.1;port=3396;dbname=pdo_local',
      'username' => 'root',
      'password' => 'root',
      'charset' => 'utf8',
      'enableQueryCache' => false,
      'emulatePrepare' => false,
   ]
]

Я выполняю следующую команду:

docker-compose run --rm backend yii migrate

и возникает ОШИБКА:

usermod: no changes
Yii Migration Tool (based on Yii v2.0.32)

Exception 'yii\base\InvalidConfigException' with message 'Failed to instantiate component or class "db".'

in /app/vendor/yiisoft/yii2/di/Container.php:449

Stack trace:
#0 /app/vendor/yiisoft/yii2/di/Container.php(374): yii\di\Container->getDependencies('db')
#1 /app/vendor/yiisoft/yii2/di/Container.php(159): yii\di\Container->build('db', Array, Array)
#2 /app/vendor/yiisoft/yii2/di/Instance.php(167): yii\di\Container->get('db')
#3 /app/vendor/yiisoft/yii2/di/Instance.php(137): yii\di\Instance->get(NULL)
#4 /app/vendor/yiisoft/yii2/console/controllers/MigrateController.php(183): yii\di\Instance::ensure(Object(yii\di\Instance), 'yii\\db\\Connecti...')
#5 /app/vendor/yiisoft/yii2/base/Controller.php(155): yii\console\controllers\MigrateController->beforeAction(Object(yii\base\InlineAction))
#6 /app/vendor/yiisoft/yii2/console/Controller.php(164): yii\base\Controller->runAction('', Array)
#7 /app/vendor/yiisoft/yii2/base/Module.php(528): yii\console\Controller->runAction('', Array)
#8 /app/vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction('migrate', Array)
#9 /app/vendor/yiisoft/yii2/console/Application.php(147): yii\console\Application->runAction('migrate', Array)
#10 /app/vendor/yiisoft/yii2/base/Application.php(386): yii\console\Application->handleRequest(Object(yii\console\Request))
#11 /app/vendor/yiisoft/yii2/yii(37): yii\base\Application->run()
#12 {main}

У вас есть идеи, как выполнить миграцию?

...