Recently I had to change columns in 8 tables because the business logic changed after they were already implemented with decorated CRUFD (F stands for Filter: filter, sort and aggregation).
For some I had to drop and recreate all columns , while for some I had to just rename some columns. I even had to create new tables as sub-resources.
You know that feeling that you have when you finished the job and you are at peace with your self that it works? Then you also know the feeling when the client comes and says: “ Scratch that, I changed my mind. ”…
Usually this means more than a DB migration and a model change because it implies deleting, adding and renaming fields (columns) all over your project, including in validations, filters and so on.
Even if I built it, MaravelQL surprised me after I did the changes in under 10 hours , cumulated for all tables with calls and discussions included , even if at first I thought it will be a complex task.
The thing is that all I had to do was:
- create migrations
- generate the decorated REST files for the new tables using maravel-rest-wizard-generator and link them by defining relations
- update validations
- update model’s $fillable property
- update {Model}Attributes dock-block for IDE autocomplete (optional)
- update the decorators
- update the logic in some places where some of the columns were used
- update the API documentation
And that was it, because everything else was dynamic in MaravelQL (maravel-rest-wizard lib suite). Full REST operations were operational out of the box.
On UI I did not work, but at least for the BE part, the complex task turned out to not be so complex after all.

Top comments (0)