1

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

私は何を間違っていますか?

4

3 に答える 3

1

vendorconfigs でエイリアスを宣言する必要があります。public_html/config/宣言よりもconsole.phpが次の場合:

Yii::setPathOfAlias('vendor', dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' .
               DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . '_vendor');
于 2013-10-30T22:38:42.563 に答える
0

最良の推測は、migrationPath使用しているようなエイリアスではなく、実際にファイルシステムパスを参照することです

于 2013-10-30T18:53:01.910 に答える
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この場合、フォルダが存在する必要があり、移行ファイルが含まれている必要があります

于 2013-10-30T13:05:26.820 に答える