如何正确检查是否安装了Symfony应用程序?

时间:2015-12-22 13:51:31

标签: symfony docker devops

在我们的Dockerfile entrypoint.sh中,我需要检查(实际上是数据库)以查看当前是否安装了应用程序,如果没有运行php app/console命令。

这是我目前的做法:

CHECK=$(php app/console doctrine:query:sql "SELECT * FROM user" -q)
if [ $? -ne 0 ]; then
    php app/console vendor:install
fi

哪种感觉不对劲。还有哪些方法可以正确检查这个?

注意数据库是由第三方MySql代理服务创建的。所以我无法检查数据库是否存在,因为总是如此。

1 个答案:

答案 0 :(得分:0)

基于Composer挂钩,您可以检查这些文件和目录。

必需:

  • app/boostrap.php.cachevar/boostrap.php.cache
  • app/config/parameters.yml
  • vendor/symfony
  • 检查app/cachevar/cache是否已预热。

可选:

  • 检查执行app/SymfonyRequirements.phpvar/SymfonyRequirements.php是否会成功 - 但这可能会因某些严格要求而失败。
  • web/bundles如果有任何要安装的资产。