はEDIT:作曲スクリプトでの変数の使用
それは、それを実現するために私に一日かかりましたが、これは実際にはアンチパターンです。 Composerはドッカースクリプトを実行すべきではありません。
私のソリューションはこれです:
"scripts": {
"php bin/console/doctrine.php orm:schema-tool:create",
"php bin/console/doctrine.php orm:schema-tool:update --force",
"php bin/console/fixtures.php"
},
---
それは作曲スクリプトに変数を渡すことは可能ですか?
私はドッカーで動作するこのレポジトリを持っています。治具やデータベースのスキーマを更新する必要があるとき、あるいは実行する必要があるものが他にもありますdocker exec
私は少なくとも半自動化したいと思います。だから私はcomposer run refresh_app
のようなものを入力することができ、完了する必要があるすべてが完了します。
:私は変数にmy_container_name
を渡したい
"scripts": {
"db:create": "docker exec -i my_container_name bash -c \"cd /www; php bin/console/doctrine.php orm:schema-tool:create\"",
"db:update": "docker exec -i my_container_name bash -c \"cd /www; php bin/console/doctrine.php orm:schema-tool:update --force\"",
"db:fixtures": "docker exec -i my_container_name bash -c \"cd /www; php bin/console/fixtures.php\""
},
。可能であれば、次のようなことをしてください:
"scripts": {
"db:create": "docker exec -i $CONTAINER_ID bash -c \"cd /www; php bin/console/doctrine.php orm:schema-tool:create\"",
"db:update": "docker exec -i $CONTAINER_ID bash -c \"cd /www; php bin/console/doctrine.php orm:schema-tool:update --force\"",
"db:fixtures": "docker exec -i $CONTAINER_ID bash -c \"cd /www; php bin/console/fixtures.php\""
},
このリンクをありがとうございました。私の問題は解決しません。ドッカーをバックグラウンドで実行し、composer/npmスクリプトを使用してドッカーと通信したいと思います。ハードコーディングはうまくいきますが、画像ユーザーの複数のインスタンスで手作業でコマンドを入力する必要があります。 – Michal