我正在创建一个具有以下结构的模块:
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`
我错过了任何设置吗?
答案 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
我希望这会有所帮助。