如果您想防止数据库装置在错误的环境中意外,那么(可能)最好的方法是仅在某些环境中激活DoctrineFixturesBundle
。
直到Symfony 3.4,这已在app/AppKernel.php
中完成,如https://symfony.com/doc/3.4/best_practices/business-logic.html#data-fixtures所述
如何在Symfony 4(Symfony Flex)中实现这一点,其中捆绑包是自动加载的?
答案 0 :(得分:2)
在Symfony 4中,可以通过编辑行
在config/bundles.php
中配置
Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle::class => ['dev' => true, 'test' => true],
请参阅https://symfony.com/doc/4.1/best_practices/business-logic.html#data-fixtures
当您删除'dev' => true,
部分,然后尝试通过运行php bin/console doctrine:fixtures:load --env=dev
在DEV环境中加载灯具时,您将获得:
运行命令"' doctrine:fixtures:load' --env = dev的&#34 ;.消息:"" doctrine中没有定义命令:fixtures"命名空间。
但是,在TEST环境中加载它们仍然有效:php bin/console doctrine:fixtures:load --env=test