Zainstalowałem rozszerzenie dla Yii2 dektrium / yii2-user używanie kompozytu przy użyciu "wymagającej" sekcji To rozszerzenie zawiera migracje dla bazy danych. Czy jest możliwe zastosowanie migracji z tego rozszerzenia przy użyciu składni konsoli, która nie jest taka:
php yii migrate --migrationPath=@dektrium/yii2-user/migrations
ale uruchom wszystkie migracje automatycznie, używając prostego polecenia, takiego jak:
php yii migrate
Czy można powiedzieć kompozytorowi, gdzie konkretne rozszerzenie zawiera jego migracje?
Odpowiedzi:
2 dla odpowiedzi № 1Znalazłem tylko jedno dobre rozwiązanie - zainstaluj rozszerzenie yii2 https://github.com/dmstr/yii2-migrate-command
Teraz mogę z łatwością użyć polecenia "php yii migrate" i nie martw się, że ktoś z mojego zespołu nie stosuje wymaganych migracji.
Dziękuję innym za pomoc! Jeśli znajdziesz bardziej odpowiednie rozwiązania, udostępnij =
1 dla odpowiedzi nr 2
Jeśli chcesz, aby proces ten był zautomatyzowany, możesz użyć scripts
własność composer
. Aby uzyskać więcej informacji, możesz zobaczyć https://getcomposer.org/doc/articles/scripts.md. W twoim przypadku możesz zrobić swój cel za pomocą czegoś takiego 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
}
Wolę zapisywać wszystkie polecenia, które należy uruchomić po instalacji - lub aktualizacji - do pliku (na przykład o nazwie plik commands
) w katalogu głównym projektu, na przykład:
#!/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
i dalej composer.json
plik umieścił swoją nazwę:
{
// Some codes are here
"scripts": {
"post-update-cmd": [
"sh commands"
],
"post-install-cmd": [
"sh commands"
]
},
// Some codes are here
}
Więc za każdym razem po composer install
lub composer update
, wszystkie polecenia będą uruchamiane (i będą przydatne w pracy zespołowej).
0 dla odpowiedzi № 3
Yii2: Zezwalaj na migrację z wielu ścieżek