vierge-noire / cakephp-fixture-factories

CakePHP Fixture Factories
https://vierge-noire.github.io/
MIT License
85 stars 20 forks source link

Make it easier to set the connection used by the EventCollector #248

Open jamisonbryant opened 2 months ago

jamisonbryant commented 2 months ago

Hi there, still using Fixture Factories and loving it after nearly 2 years. I have a suggestion for a quality-of-life improvement.

I believe this would resolve some very tricky edge cases such as described in #187 and #233.

I noticed in EventCollector that the $options array only contains the two entries for "listening to model events" and "listening to behaviors" but there are many other options you can pass to the TableLocator, including connection.

Would it make sense to add a method to EventCollector called setConnection() that could be called like so:

$article = ArticleFactory::make()->setConnection('foo')->listeningToBehaviors('Sluggable')->getEntity();

I'd be happy to draft a PR for this, if you think this solution is a good idea. If there's a concern about the EventCollector being the wrong place for this, I could think of some other ideas.

jamisonbryant commented 2 months ago

cc @dreamingmind - any thoughts on this? Asking because you and I are among the few engineers heavily using different DB connections with Fixture Factories 🤔

pabloelcolombiano commented 2 months ago

Hi @jamisonbryant ,

Thank you for the great idea. Yes feel free to send a PR with the necessary code coverage.