如果要防止数据库装置在错误的环境中意外加载,(可能(最好的方法是仅在某些环境中激活DoctrineFixturesBundle
。
在Symfony 3.4之前,这是在app/AppKernel.php
年完成的,如 https://symfony.com/doc/3.4/best_practices/business-logic.html#data-fixtures
如何在自动加载捆绑包的Symfony 4(Symfony Flex(中实现这一点?
在Symfony 4中,这可以通过编辑行在config/bundles.php
中配置。
DoctrineBundleFixturesBundleDoctrineFixturesBundle::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"时引发错误。消息:"在"doctrine:fixtures"命名空间中没有定义任何命令。
但是,在测试环境中加载它们仍然有效:php bin/console doctrine:fixtures:load --env=test