在我们的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代理服务创建的。所以我无法检查数据库是否存在,因为总是如此。
答案 0 :(得分:0)
基于Composer挂钩,您可以检查这些文件和目录。
必需:
app/boostrap.php.cache
或var/boostrap.php.cache
。app/config/parameters.yml
。vendor/symfony
。app/cache
或var/cache
是否已预热。可选:
app/SymfonyRequirements.php
或var/SymfonyRequirements.php
是否会成功 - 但这可能会因某些严格要求而失败。web/bundles
如果有任何要安装的资产。