我有Composer安装的Yii框架,public_html文件夹中的webapp和vendor文件夹中的所有库:
webroot
|
|_public_html
|
|_vendor
|
|_fierwebdesign
|
|_yii-user
|
|_migrations
我在console.php
中的配置是:
'modules'=>array(
'user'=>array(
'hash' => 'md5',
'sendActivationMail' => true,
'loginNotActiv' => false,
'activeAfterRegister' => false,
'autoLogin' => true,
'registrationUrl' => array('/user/registration'),
'recoveryUrl' => array('/user/recovery'),
'loginUrl' => array('/user/login'),
'returnUrl' => array('/user/profile'),
'returnLogoutUrl' => array('/user/login'),
),
),
当我尝试运行Yii用户扩展的迁移时,我收到错误:
yiic.php migrate --migrationPath=vendor.fierwebdesign.yii-user.migrations
Error: The migration directory does not exist: vendor.fierwebdesign.yii-user.migrations
我做错了什么?
答案 0 :(得分:1)
您需要在配置中声明vendor
别名。如果public_html/config/
中的console.php不是声明:
Yii::setPathOfAlias('vendor', dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . '_vendor');
答案 1 :(得分:0)
也许这会有所帮助:
在components
配置文件中的console.php
数组中写出类似的内容;
'commandMap' => array(
'migrate' => array(
'class' => 'system.cli.commands.MigrateCommand',
'migrationPath' => 'application.modules.user.migrations',
// 'migrationTable' => 'tbl_migration',
'connectionID' => 'db',
// 'templateFile' => 'application.migrations.template',
),
然后输入命令:php migrate
此外,app/modules/user/migartion
文件夹在这种情况下必须存在且必须包含migratio文件
答案 2 :(得分:0)
最好的猜测是migrationPath
实际上指的是文件系统路径,而不是像你正在使用的别名