我已經使用composer使用它的「require」部分安裝了Yii2 dektrium/yii2-user的擴展。該擴展包含數據庫的遷移。是否有可能從這個擴展使用控制檯的語法不喜歡這樣的應用遷移:如何自動應用來自Yii2擴展的遷移
php yii migrate [email protected]/yii2-user/migrations
而是通過一個簡單的命令像自動運行所有遷移:
php yii migrate
是否有可能告訴作曲家在具體的擴展包含它的遷移?
我已經使用composer使用它的「require」部分安裝了Yii2 dektrium/yii2-user的擴展。該擴展包含數據庫的遷移。是否有可能從這個擴展使用控制檯的語法不喜歡這樣的應用遷移:如何自動應用來自Yii2擴展的遷移
php yii migrate [email protected]/yii2-user/migrations
而是通過一個簡單的命令像自動運行所有遷移:
php yii migrate
是否有可能告訴作曲家在具體的擴展包含它的遷移?
我會upvote你的答案,如果你不只是發佈了一個鏈接!現在這是如何工作的。考慮一下這個鏈接會被破壞。那麼你的回答是無用的。 – robsch
我只找到一個很好的解決方案 - 安裝yii2擴展https://github.com/dmstr/yii2-migrate-command
現在我可以很容易地使用命令「PHP警予遷移」別擔心,從我的團隊的人不適用要求遷移。
感謝他人的幫助!如果你找到更合適的解決方案,請分享=)
如果你想使這個過程自動化,你可以使用scripts
屬性composer
。欲瞭解更多信息,你可以看到https://getcomposer.org/doc/articles/scripts.md。你的情況,你可以在composer.json
像這樣的東西做你的目標:
{
// Some codes are here
"scripts": {
"post-update-cmd": [
"php yii migrate [email protected]/yii2-user/migrations"
],
"post-install-cmd": [
"php yii migrate [email protected]/yii2-user/migrations"
]
},
// Some codes are here
}
我寧願保存必須後運行的所有命令中的文件安裝 - 或最新情況:(名爲commands
例如文件)中項目的根,是這樣的:
#!/usr/bin/env bash
./yii migrate/up [email protected]/dektrium/yii2-user/migrations
./yii migrate/up
./yii migrate/up [email protected]/modules/rules/migrations
./yii migrate/up [email protected]/modules/formsaz/migrations
./yii migrate/up [email protected]/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
,所有命令都將運行(並且對團隊協作很有用)。
yii遷移只考慮您在控制檯/遷移文件夾中的遷移 –
我找到了更好的解決方案,我在下面描述。謝謝! – bfday