yii2通过migrate创建RBAC相关表时出错,
yii migrate --migrationPath=@yii/rbac/migrations/
报错:
xxxx>yii migrate --migrationPath=@yii/rbac/migrations/ Yii Migrat
Yii Migration Tool (based on Yii v2.0.12)
Total 1 new migration to be applied:
m140506_102106_rbac_init
Apply the above migration? (yes|no) [no]:yes
*** applying m140506_102106_rbac_init
Exception 'yii\base\InvalidConfigException' with message 'You should configure "authManager" component to use database before executing this migration.'
//提示我们说在执行这条migration之前让我们先配置下authManager组件
in xxxx\vendor\yiisoft\yii2\rbac\migrations\m140506_102106_rbac_init.php:27
Stack trace:
#0 xxxx\vendor\yiisoft\yii2\rbac\migrations\m140506_102106_rbac_init.php(50): m140506_102106_rbac_init->getAuthManager()
#1 xxxx\vendor\yiisoft\yii2\console\controllers\BaseMigrateController.php(671): m140506_102106_rbac_init->up()
#2 xxxx\vendor\yiisoft\yii2\console\controllers\BaseMigrateController.php(183): yii\console\controllers\BaseMigrateController->migrateUp('m140506_102106_...')
#3 [internal function]: yii\console\controllers\BaseMigrateController->actionUp(0)
#4 xxxx\vendor\yiisoft\yii2\base\InlineAction.php(57): call_user_func_array(Array, Array)
#5 xxxx\vendor\yiisoft\yii2\base\Controller.php(156): yii\base\InlineAction->runWithParams(Array)
#6 xxxx\vendor\yiisoft\yii2\console\Controller.php(128): yii\base\Controller->runAction('', Array)
#7 xxxx\vendor\yiisoft\yii2\base\Module.php(523): yii\console\Controller->runAction('', Array)
#8 xxxx\vendor\yiisoft\yii2\console\Application.php(180): yii\base\Module->runAction('migrate', Array)
#9 xxxx\vendor\yiisoft\yii2\console\Application.php(147): yii\console\Application->runAction('migrate', Array)
#10 xxxx\vendor\yiisoft\yii2\base\Application.php(380): yii\console\Application->handleRequest(Object(yii\console\Request))
#11 xxxx\yii(27): yii\base\Application->run()
#12 {main}
原因是配置不完整,解决方法:添加以下配置:
xxxx\console\config\main.php(之前配置在common\config\main.php,没有生效)
components下添加:
'authManager' => [ 'class' => 'yii\rbac\DbManager', 'defaultRoles' => ['guest'], ],
重新运行命令后成功。
yii migrate --migrationPath=@yii/rbac/migrations/
xxxx>yii migrate --migrationPath=@yii/rbac/migrations/ Yii Migration Tool (based on Yii v2.0.12) Total 1 new migration to be applied: m140506_102106_rbac_init Apply the above migration? (yes|no) [no]:yes *** applying m140506_102106_rbac_init > create table {{%auth_rule}} ... done (time: 0.111s) > create table {{%auth_item}} ... done (time: 0.064s) > create index idx-auth_item-type on {{%auth_item}} (type) ... done (time: 0.020s) > create table {{%auth_item_child}} ... done (time: 0.040s) > create table {{%auth_assignment}} ... done (time: 0.030s) *** applied m140506_102106_rbac_init (time: 0.414s) 1 migration was applied. Migrated up successfully.
转载请注明:MitNick » yii2通过migrate创建RBAC相关表时出错,报Exception ‘yii\base\InvalidConfigException’ with message ‘You should configure “authManager” component to use database before executing this migration.’