Yii2迁移-分离迁移
我正在创建具有以下结构的模块:Yii2迁移-分离迁移,yii2,database-migration,yii2-advanced-app,Yii2,Database Migration,Yii2 Advanced App,我正在创建具有以下结构的模块: common L modules LL blog LLL backend LLL frontend LLL common LLL migrations 我在yii2文档中找到了一个关于 在console/config/main.php中,我设置了: 'migrate-blog' => [ 'class' => 'yii\console\controllers\MigrateController', 'm
common
L modules
LL blog
LLL backend
LLL frontend
LLL common
LLL migrations
我在yii2文档中找到了一个关于
在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`
我是否缺少任何设置?是否将以下信息添加到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
我希望这会有所帮助。谢谢,它解决了错误,但迁移是在console/migrations下创建的。我想在我的模块内创建迁移?这是migrationPath吗?您是否在配置中提供了migrationNamespaces配置
'migrationNamespaces'=>['app\module\migrations'],
如果您使用php yii/migrate blog/create create_table_blog_post,实际上已经足够了
如果迁移位于其他一些不在migrationNamespaces中的目录中,通常会使用migrationPath。如果仍然无法解决您的问题,请告诉我。我希望这有帮助。