我最近开始使用Symfony 4.
在开发过程中,我喜欢有两种不同的环境:一种用于开发(使用我们在固定装置上的一些假数据浏览网站),另一种用于测试我在哪里执行behat测试,在每次测试时重置数据库。
在symfony的早期版本中,我只有两个不同的数据库:mysite_dev和mysite_test以及两个具有正确数据库配置的参数文件(parameters_dev.yml和parameters_test.yml)。
但是使用Symfony 4和.env配置文件,我看不到这样做的方法。我没有看到任何方式有两组ddbb参数,并能够运行php bin / console doctrine:schema:update --env = test或php bin / console doctrine:schema:update --env = dev。< / p>
有什么想法吗?谢谢!
答案 0 :(得分:2)
如何在配置中使用不同的url变量?
# config/packages/dev/doctrine.yaml
doctrine:
dbal:
url: '%env(resolve:DATABASE_URL_DEV)%'
# config/packages/test/doctrine.yaml
doctrine:
dbal:
url: '%env(resolve:DATABASE_URL_TEST)%'
还会从默认配置文件
中考虑此注释parameters:
# Adds a fallback DATABASE_URL if the env var is not set.
# This allows you to run cache:warmup even if your
# environment variables are not available yet.
# You should not need to change this value.
env(DATABASE_URL): ''
答案 1 :(得分:0)
这很简单:您的命令仍然可以引用--env
的环境,每当您需要从一个环境切换到另一个环境时,您基本上有两个选择:
.env
文件.env
的所有变量