Symfony 4: не допускайте загрузки Doctrine Fixture в DEV-Environment - PullRequest
0 голосов
/ 10 июня 2018

Если вы хотите предотвратить случайную загрузку устройств базы данных случайно в неправильной среде, (вероятно) лучший способ - активировать 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 голосов
/ 10 июня 2018

В 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,, а затемпопробуйте загрузить приборы в среде DEV, запустив php bin/console doctrine:fixtures:load --env=dev, вы получите:

Ошибка при выполнении команды "'doctrine: fixtures: load' --env = dev".Сообщение: «В пространстве имен« doctrine: fixtures »не определено ни одной команды.

Однако загрузка их в среде TEST по-прежнему работает: php bin/console doctrine:fixtures:load --env=test

...