Symfony 4:防止在DEV-Environment中加载Doctrine Fixtures

时间:2018-06-10 20:43:00

标签: doctrine-orm symfony4

如果您想防止数据库装置在错误的环境中意外,那么(可能)最好的方法是仅在某些环境中激活DoctrineFixturesBundle

直到Symfony 3.4,这已在app/AppKernel.php中完成,如https://symfony.com/doc/3.4/best_practices/business-logic.html#data-fixtures所述

如何在Symfony 4(Symfony Flex)中实现这一点,其中捆绑包是自动加载的?

1 个答案:

答案 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