CakePHP's bake feature greatly improves development efficiency, especially in the early phases of development.
However, the longer maintenance continues, the more the initially generated code will need to be changed.
As the developed service enters a phase of successful and continuous enhancement, the database structure is frequently updated.
The Model source code generated in the early stages of development must be updated to new sources each time the database table structure is changed.
If there is a mechanism to reflect only changes in the table structure in the Model with the bake function while maintaining the original implementation, the maintenance phase can also benefit from bake.
The design pattern that achieves this mechanism is generally called the Generation Gap pattern.
We have implemented this mechanism with a plug-in.
This proposal will show how to realize the Generation Gap pattern in CakePHP4 and the plug-ins that make it possible.