Yii2 迁移 - 分离迁移

Yii2 migrations - Separated Migrations

我正在创建一个具有以下结构的模块:

common
L modules
LL blog
LLL backend
LLL frontend
LLL common
LLL migrations

我在 yii2 文档中找到了关于 "Separated Migrations"

的部分

在console/config/main.php中我设置了:

'migrate-blog' => [
            'class' => 'yii\console\controllers\MigrateController',
            'migrationNamespaces' => ['app\common\modules\blog\migrations'],
            'migrationTable' => 'migration_blog',
            'migrationPath' => null,
        ]

然后我转到控制台并运行执行以下命令:

php yii migrate/create app\common\modules\blog\migrations\create_table_blog_post

它returns一个错误:

Error: Namespace 'app\common\modules\blog\migrations' not found in `migrationNamespaces`

我是否遗漏了任何设置?

您是否将以下信息添加到 console.php

的配置中
'controllerMap' => [

    // Migrations for the specific project's module
    'migrate-module' => [
        'class' => 'yii\console\controllers\MigrateController',
        'migrationNamespaces' => ['app\module\migrations'],
        'migrationTable' => 'migration_module',
        'migrationPath' => null,
    ],
],

我看到你在 console/config/main.php 中有配置,然后检查 yii 文件是否有以下行。

$config = require(__DIR__ . '/console/config/main.php');

在此之后而不是 运行

php yii migrate/create app\common\modules\blog\migrations\create_table_blog_post

运行以下命令

php yii/migrate-blog/create create_table_blog_post  

希望对您有所帮助。