在作曲家脚本中使用变量



编辑:

我花了一天的时间才意识到这一点,但这实际上是一个反图案。作曲家不应运行Docker脚本。

我的解决方案是:

 "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中运行的呼吸。当我需要更新固定装置或数据库架构或几乎需要运行docker exec的其他所有内容时,我想至少将其进行半自动。这样我就可以键入诸如composer run refresh_app之类的内容以及需要完成的所有操作。

使用类似的脚本:

  "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""
  },

我想通过变量传递my_container_name。可能会做这样的事情:

  "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""
  },

也许可以使用ENV变量使用Docker-Compose?https://docs.docker.com/compose/environment-variables/

composer.json中有这些脚本:

 "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 Container Bash中打电话给它们。

相关内容

  • 没有找到相关文章

最新更新