Использование комплекта приспособлений doctrine в рабочей среде
Хотя это не рекомендуется, поскольку вы можете случайно отбросить производственную базу данных, я вижу некоторые допустимые варианты использования комплекта приспособлений dotrine в производственной среде.
Вы можете отредактировать config/bundles.php
, чтобы включить комплект устройств Doctrine в производственной среде.
Изменить
Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle::class => ['dev' => true, 'test' => true],
на
Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle::class => ['all' => true],
СоздатьВаша собственная команда для загрузки приборов
Использование функций доктрины для ручной загрузки приборов также не рекомендуется, но таким образом вы можете добавлять дополнительные проверки, например, только заполнять свежую базу данных.
$fixtures = (new \Doctrine\Common\DataFixtures\Loader())->loadFromDirectory(__DIR__ . '/../src/DataFixture');
$loader = new \Doctrine\Bundle\FixturesBundle\Loader\SymfonyFixturesLoader(new \Symfony\Component\DependencyInjection\Container());
$loader->addFixtures(
array_map(
function ($fixture) {
return [
'fixture' => $fixture,
'groups' => []
];
},
$fixtures
)
);
$purger = new Doctrine\Common\DataFixtures\Purger\ORMPurger($entityManager);
$executor = new Doctrine\Common\DataFixtures\Executor\ORMExecutor($entityManager, $purger);
$executor->execute(
$loader->getFixtures()
);