Make the model:prune
command easier to extend
#43919
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Today I was working on an application that needed some customisations on the
model:prune
artisan command. Because of multitenancy I needed to dynamically set the connection on a model and loop on it for multiple times. I also needed to update the paths that the command was searching for.This PR makes it possible to re-use more code of the original command in my project. Instead of copying everything over.
One thing that I'm still looking for is how I can make it possible to also scan models that do not have the default application namespace (outside of the app folder). With the current logic, the namespace is not correctly namespaced.
Maybe there is a way to create a better model loader for this kind of stuff anyway (with support for "outside-of-app" namespaces). Because we are using the same code in
src/Illuminate/Foundation/Console/Kernel.php
. Anyway, that's something for an other PR.