1

「require」セクションを使用して、composer を使用してYii2 dektrium/yii2-userの拡張機能をインストールしました。この拡張機能には、データベースの移行が含まれています。次のようなコンソール構文を使用して、この拡張機能から移行を適用することは可能ですか?

php yii migrate --migrationPath=@dektrium/yii2-user/migrations

ただし、次のような単純なコマンドを使用して、すべての移行を自動的に実行します。

php yii migrate

具体的な拡張機能にその移行が含まれている場所を作曲家に伝えることは可能ですか?

4

3 に答える 3

3

このプロセスを自動化したい場合は、scriptsのプロパティを使用できますcomposer。詳細については、https://getcomposer.org/doc/articles/scripts.mdを参照してください。あなたの場合、次のようなもので目標を達成できますcomposer.json:

{
 // Some codes are here
    "scripts": {
        "post-update-cmd": [
            "php yii migrate --migrationPath=@dektrium/yii2-user/migrations"
        ],
        "post-install-cmd": [
            "php yii migrate --migrationPath=@dektrium/yii2-user/migrations"
        ]
    },
 // Some codes are here
}

commands次のように、インストールまたは更新後に実行する必要があるすべてのコマンドを、プロジェクトのルートにあるファイル (たとえば、という名前のファイル) に保存することを好みます。

#!/usr/bin/env bash

./yii migrate/up --migrationPath=@vendor/dektrium/yii2-user/migrations
./yii migrate/up
./yii migrate/up --migrationPath=@app/modules/rules/migrations
./yii migrate/up --migrationPath=@app/modules/formsaz/migrations
./yii migrate/up --migrationPath=@app/modules/todo/migrations
./yii formsaz/rules/init
./yii husky/rules/init

composer.jsonファイルにその名前を入れます:

{
 // Some codes are here
    "scripts": {
        "post-update-cmd": [
            "sh commands"
        ],
        "post-install-cmd": [
            "sh commands"
        ]
    },
 // Some codes are here
}

composer installしたがって、またはの後に毎回composer update、すべてのコマンドが実行されます (そして、チームワークに役立ちます)。

于 2016-03-08T09:49:18.190 に答える
0

Yii2: 複数パスからの移行を許可する

于 2016-03-04T08:21:10.290 に答える