Yii2迁移 - 分离的迁移

时间:2018-01-23 03:47:47

标签: yii2 database-migration yii2-advanced-app

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

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

它返回错误:

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

我错过了任何设置吗?

1 个答案:

答案 0 :(得分:1)

您是否将以下信息添加到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  

我希望这会有所帮助。