【问题标题】:Yii2 - Migrating test databaseYii2 - 迁移测试数据库
【发布时间】:2018-12-18 14:29:42
【问题描述】:

我正在使用 codeception,并且正在尝试为测试数据库运行迁移。

我从测试文件夹中运行命令

php codeception/bin/yii migrate/up --interactive=0

但我得到了错误

Exception 'yii\base\InvalidConfigException' with message 'The configuration for the "user" component must contain a "class" element.'

in /www/shopboxyii-v2/vendor/yiisoft/yii2/di/ServiceLocator.php:205

Stack trace:
#0 /www/shopboxyii-v2/vendor/yiisoft/yii2/di/ServiceLocator.php(261): yii\di\ServiceLocator->set('user', Array)
#1 /www/shopboxyii-v2/vendor/yiisoft/yii2/base/Component.php(180): yii\di\ServiceLocator->setComponents(Array)
#2 /www/shopboxyii-v2/vendor/yiisoft/yii2/BaseYii.php(546): yii\base\Component->__set('components', Array)
#3 /www/shopboxyii-v2/vendor/yiisoft/yii2/base/BaseObject.php(107): yii\BaseYii::configure(Object(yii\console\Application), Array)
#4 /www/shopboxyii-v2/vendor/yiisoft/yii2/base/Application.php(206): yii\base\BaseObject->__construct(Array)
#5 /www/shopboxyii-v2/vendor/yiisoft/yii2/console/Application.php(89): yii\base\Application->__construct(Array)
#6 /www/shopboxyii-v2/tests/codeception/bin/yii(25): yii\console\Application->__construct(Array)
#7 {main}

有谁知道这个错误或导致它的原因??

【问题讨论】:

  • 您在控制台配置文件中对user 的配置是什么?
  • 为什么在console.phpconsole/config/main.php 文件中定义了user 组件?如果我没记错的话,你就不需要它了。
  • 你说的都是对的。我检查了我的 yii 文件,在那里我可以找到为用户配置的配置文件。我删除了这部分,一切正常。你们中的任何人都可以回答吗,我会为可能面临同样问题的人标记它是正确的。非常感谢您的解决方案:D

标签: yii yii2 codeception


【解决方案1】:

您不需要console/config/main.php(如果使用advanced-app)或app/config/web.php(如果使用basic-app)中的用户组件配置,您只需删除组件配置,它就会开始无缝工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-07
    • 2021-12-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-09
    • 1970-01-01
    • 2012-03-21
    相关资源
    最近更新 更多