Php Yii2迁移问题

Php Yii2迁移问题,php,migration,yii2,Php,Migration,Yii2,我第一次使用yii2,我想尝试yii迁移。 问题是: 我创建了迁移文件 php yii迁移/创建新表 文件已创建。然后,我将新表的详细信息输入到迁移文件中。 当我运行php时,我会迁移 我出错了 异常“ReflectionException”,消息为“Class db不存在” 在/var/www/yii2.uz/vendor/yiisoft/yii2/di/Container.php中:415 有什么问题吗 myconsole/config/main.php: <?php $param

我第一次使用yii2,我想尝试yii迁移。 问题是: 我创建了迁移文件

php yii迁移/创建新表

文件已创建。然后,我将新表的详细信息输入到迁移文件中。 当我运行
php时,我会迁移

我出错了

异常“ReflectionException”,消息为“Class db不存在”
在/var/www/yii2.uz/vendor/yiisoft/yii2/di/Container.php中:415
有什么问题吗

my
console/config/main.php

<?php 
$params = array_merge(
    require(__DIR__ . '/../../common/config/params.php'),
    require(__DIR__ . '/../../common/config/params-local.php'),
    require(__DIR__ . '/../../common/config/main-local.php'),
    require(__DIR__ . '/params.php'),
    require(__DIR__ . '/params-local.php')
    ); 
    return [
    'id' => 'app-console',
    'basePath' => dirname(__DIR__),
    'bootstrap' => ['log'],
    'controllerNamespace' => 'console\controllers',
    'components' => [
        'log' => [
            'targets' => [
                [
                    'class' => 'yii\log\FileTarget',
                    'levels' => ['error', 'warning'],
                ],
            ],
        ],
    ],
    'params' => $params,
    ];

控制台的DB组件设置丢失,请将其添加到本地开发的
console/config/main local.php文件中:

'components' => [
    'db' => [
        'class' => 'yii\db\Connection',
        'dsn' => 'mysql:host=localhost;dbname=dbname',
        'username' => 'username',
        'password' => 'password',
        'charset' => 'utf8',
    ],
],
对于生产服务器,请根据db设置更正此文件


请注意,
-local
文件位于
.gitignore
列表中。

如果您使用的是高级应用程序,则应将以下代码放入
环境/dev/common/main local.php
中,以声明应用程序中的
db
组件:

'components' => [
    'db' => [
        'class' => 'yii\db\Connection',
        'dsn' => 'mysql:host=localhost;dbname=dbname',
        'username' => 'username',
        'password' => 'password',
        'charset' => 'utf8',
    ],
],
如果希望将配置实际应用于高级模板中的应用程序,则应运行
/yii init
php yii init
命令

如果您使用的是基本应用程序,那么应该直接将其放入
common/main local.php


重要的是将其置于“公用”下,而不仅仅是控制台,因为您可能会使用来自控制台和web应用程序的同一数据库。

请添加创建的迁移内容和控制台配置。@Faradox检查您是否已正确编写了所有参数。
'components' => [
    'db' => [
        'class' => 'yii\db\Connection',
        'dsn' => 'mysql:host=localhost;dbname=dbname',
        'username' => 'username',
        'password' => 'password',
        'charset' => 'utf8',
    ],
],