Open VincentLanglet opened 1 year ago
Hi !
I'd like to use a custom ReferenceRepository (https://github.com/doctrine/data-fixtures/blob/1.6.x/src/ReferenceRepository.php),
Currently:
The ReferenceRepository is always set inside the AbstractExecutor, even if the fixture already has a referenceRepository https://github.com/doctrine/data-fixtures/blob/1.6.x/src/Executor/AbstractExecutor.php#L119-L121 it could be nice to only set the referenceRepository if some method hasReferenceRepository() return false.
hasReferenceRepository()
false
The ReferenceRepository of the AbstractExecutor is hardcoded https://github.com/doctrine/data-fixtures/blob/1.6.x/src/Executor/AbstractExecutor.php#L47 It could be useful to have the referenceRepository as optional argument...
The Executor is hardcoded in the command https://github.com/doctrine/DoctrineFixturesBundle/blob/3.5.x/Command/LoadDataFixturesDoctrineCommand.php#L154
I see two way/improvements to solve my issue: 1) Solving https://github.com/doctrine/DoctrineFixturesBundle/issues/380 to allow using custom fixtures loaders, then my FixtureLoader will do
$fixture = new class(); $fixture->setReferenceRepository($myCustomRepository);
AND I'll need to add a check in the AbstractExecutor (https://github.com/doctrine/data-fixtures/blob/1.6.x/src/Executor/AbstractExecutor.php#L119) to not set the ReferenceRepository if one is already set (But how do I know this since currently no method is exposed ?)
2) Solving https://github.com/doctrine/DoctrineFixturesBundle/issues/364 by allowing to use ExecutorFactories in order to use a custom executor. My factory will just do:
$executor = new ORMExecutor($em, $purger); $executor->setReferenceRepository($myCustomRepository);
What do you think of this problem ? Any suggestion/preferred solution @greg0ire @derrabus ? Thanks
Hi !
I'd like to use a custom ReferenceRepository (https://github.com/doctrine/data-fixtures/blob/1.6.x/src/ReferenceRepository.php),
Currently:
The ReferenceRepository is always set inside the AbstractExecutor, even if the fixture already has a referenceRepository https://github.com/doctrine/data-fixtures/blob/1.6.x/src/Executor/AbstractExecutor.php#L119-L121 it could be nice to only set the referenceRepository if some method
hasReferenceRepository()
returnfalse
.The ReferenceRepository of the AbstractExecutor is hardcoded https://github.com/doctrine/data-fixtures/blob/1.6.x/src/Executor/AbstractExecutor.php#L47 It could be useful to have the referenceRepository as optional argument...
The Executor is hardcoded in the command https://github.com/doctrine/DoctrineFixturesBundle/blob/3.5.x/Command/LoadDataFixturesDoctrineCommand.php#L154
I see two way/improvements to solve my issue: 1) Solving https://github.com/doctrine/DoctrineFixturesBundle/issues/380 to allow using custom fixtures loaders, then my FixtureLoader will do
AND I'll need to add a check in the AbstractExecutor (https://github.com/doctrine/data-fixtures/blob/1.6.x/src/Executor/AbstractExecutor.php#L119) to not set the ReferenceRepository if one is already set (But how do I know this since currently no method is exposed ?)
2) Solving https://github.com/doctrine/DoctrineFixturesBundle/issues/364 by allowing to use ExecutorFactories in order to use a custom executor. My factory will just do:
What do you think of this problem ? Any suggestion/preferred solution @greg0ire @derrabus ? Thanks